RSpec/Rails3へ導入
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(RSpec/Rails3へ導入);
*目次 [#dfe1083a]
#contents
*関連ページ [#x20ce175]
-[[RSpec]]
*参考情報 [#ja202bd2]
*使用方法(Rails3編) [#t4d143c0]
-[[RSpecでRailsのテストをしてみるテスト。 | Ginpen.com:ht...
**インストール [#d3403589]
-Gemfileに追加
gem 'rspec-rails'
-bundle実行
bundle install --path=vendor/bundle
-RSpec用の共通ファイルを用意
#pre{{
bundle exec rails g rspec:install
create .rspec
create spec
create spec/spec_helper.rb
}}
**テスト実行 [#had37ee3]
,bundle exec rake spec,spec以下の全てのspecを実行
,bundle exec rake spec,spec/modles以下の全てのspecを実行。
,bundle exec rake SPEC=spec/models/entry_spec.rb,個別のsp...
,bundle exec rspec spec/models/entry_spec.rb,個別のspecを...
**サンプル [#xfd6f6e2]
-[[Rails 3 でやってみた --『スはスペックのス 【第 1 回】 ...
-ブログサンプルを作ってみる
***railsプロジェクトを生成 [#uf9d9337]
-普通に生成。
***インストール [#p25596a7]
-Gemfileに追加し、bundle実行
***モデルの生成 [#rda8095a]
-bundleで実行する
#pre{{
$ bundle exec rails generate model Blog name:string
invoke active_record
create db/migrate/20130419052115_create_blogs.rb
create app/models/blog.rb
invoke rspec
create spec/models/blog_spec.rb
}}
***マイグレーション実行 [#z94b4d6b]
-null不可に変更。
#pre{{
class CreateBlogs < ActiveRecord::Migration
def change
create_table :blogs do |t|
t.string :name, :null => false
t.timestamps
end
end
end
}}
-マイグレーションを実行する。
$ bundle exec rake db:migrate
***フィクスチャ作成 [#h186b8ed]
-spec/fixtures/blogs.ymlを作る
#pre{{
one:
id: 1
name: その1
two:
id: 2
name: その2
}}
***spec作成 [#n7c8f91a]
-spec/models.blog_spec.rb
#pre{{
# -*- coding: utf-8 -*-
require 'spec_helper'
describe Blog, "#name が設定されていない場合:" do
before(:each) do
@blog = Blog.new
end
it "バリデーションに失敗すること" do
@blog.should_not be_valid
end
end
}}
***spec実行 [#jbb0152d]
-rake spec SPEC=spec/models/blog_spec.rbを実行する 。この...
bundle exec rake pec SPEC=spec/models/blog_spec.rb
-次のようにvalidateすれば成功するようになる
#pre{{
class Blog < ActiveRecord::Base
attr_accessible :name
validates :name, presence:true
end
}}
**ひな形の生成 [#ac1c3a2e]
***単体のcontroller specのひな形を生成 [#n90e4d4a]
-以下のコマンドで生成できる。けど空のファイルになる。
bundle exec rails g rspec:controller softwares
-scaffoldと同時につくると中身充実のcontroller用rspecが作...
bundle exec rails g scaffold item
終了行:
&tag(RSpec/Rails3へ導入);
*目次 [#dfe1083a]
#contents
*関連ページ [#x20ce175]
-[[RSpec]]
*参考情報 [#ja202bd2]
*使用方法(Rails3編) [#t4d143c0]
-[[RSpecでRailsのテストをしてみるテスト。 | Ginpen.com:ht...
**インストール [#d3403589]
-Gemfileに追加
gem 'rspec-rails'
-bundle実行
bundle install --path=vendor/bundle
-RSpec用の共通ファイルを用意
#pre{{
bundle exec rails g rspec:install
create .rspec
create spec
create spec/spec_helper.rb
}}
**テスト実行 [#had37ee3]
,bundle exec rake spec,spec以下の全てのspecを実行
,bundle exec rake spec,spec/modles以下の全てのspecを実行。
,bundle exec rake SPEC=spec/models/entry_spec.rb,個別のsp...
,bundle exec rspec spec/models/entry_spec.rb,個別のspecを...
**サンプル [#xfd6f6e2]
-[[Rails 3 でやってみた --『スはスペックのス 【第 1 回】 ...
-ブログサンプルを作ってみる
***railsプロジェクトを生成 [#uf9d9337]
-普通に生成。
***インストール [#p25596a7]
-Gemfileに追加し、bundle実行
***モデルの生成 [#rda8095a]
-bundleで実行する
#pre{{
$ bundle exec rails generate model Blog name:string
invoke active_record
create db/migrate/20130419052115_create_blogs.rb
create app/models/blog.rb
invoke rspec
create spec/models/blog_spec.rb
}}
***マイグレーション実行 [#z94b4d6b]
-null不可に変更。
#pre{{
class CreateBlogs < ActiveRecord::Migration
def change
create_table :blogs do |t|
t.string :name, :null => false
t.timestamps
end
end
end
}}
-マイグレーションを実行する。
$ bundle exec rake db:migrate
***フィクスチャ作成 [#h186b8ed]
-spec/fixtures/blogs.ymlを作る
#pre{{
one:
id: 1
name: その1
two:
id: 2
name: その2
}}
***spec作成 [#n7c8f91a]
-spec/models.blog_spec.rb
#pre{{
# -*- coding: utf-8 -*-
require 'spec_helper'
describe Blog, "#name が設定されていない場合:" do
before(:each) do
@blog = Blog.new
end
it "バリデーションに失敗すること" do
@blog.should_not be_valid
end
end
}}
***spec実行 [#jbb0152d]
-rake spec SPEC=spec/models/blog_spec.rbを実行する 。この...
bundle exec rake pec SPEC=spec/models/blog_spec.rb
-次のようにvalidateすれば成功するようになる
#pre{{
class Blog < ActiveRecord::Base
attr_accessible :name
validates :name, presence:true
end
}}
**ひな形の生成 [#ac1c3a2e]
***単体のcontroller specのひな形を生成 [#n90e4d4a]
-以下のコマンドで生成できる。けど空のファイルになる。
bundle exec rails g rspec:controller softwares
-scaffoldと同時につくると中身充実のcontroller用rspecが作...
bundle exec rails g scaffold item
ページ名: