&tag(RSpec/Rails4へ導入); *目次 [#p4fd0eaf] #contents *関連ページ [#k9889dfa] -[[RSpec]] *参考情報 [#b80487fb] -[[Rails RSpecの基本 ~導入編~ - Qiita:http://qiita.com/shizuma/items/8221544601aa3d0770d2]] *使用方法(Rails4編) [#n54af1c0] **インストール [#b527657d] -Gemfileに追加 #pre{{ group :development, :test do gem "rspec-rails", "~>2.14.0" gem "factory_girl_rails", "~>4.2.1" end group :test do gem "faker", "~>1.1.2" gem "capybara", "~>2.1.0" gem "database_cleaner", "~>1.0.1" gem "launchy", "~>2.3.0" gem 'selenium-webdriver', '~>2.45.0' end }} -bundle実行 bundle install --path vendor/bundle -インストール #pre{{ bundle exec rails generate rspec:install create .rspec create spec create spec/spec_helper.rb }} -上のように、Gemfileでgroupを指定したときは、config/application.rbを編集する。これでモデルやコントローラーを作成したときに、*_spec.rbファイルを作る挙動を制御できる。 -config/application.rbを編集しモデルやコントローラーを作成したときに、*_spec.rbファイルを作る挙動を制御する #pre{{ config.generators do |g| g.test_framework :rspec, fixtures: true, view_specs: false, helper_specs: false, routing_specs: false, controller_specs: true, request_specs: false g.fixture_replacement :factory_girl, dir: "spec/factories" end }} ※注意事項) -ちなみに以下のようにgroup指定して、rspec-railsを使う場合、普通にscaffoldするとspecが作られない。 -ちなみに以下のようにrspec-railsがグループ指定されている場合普通にscaffoldするとproduction環境ではspecが作られない。 #pre{{ group :development, :test do gem "rspec-rails" end }} -これはbundle execの環境がproductionであるため。group指定を以下のようにあらためるか(意味ないけど…) -group指定を以下のように変更するとどちらでも作成される。 #pre{{ group :production, :development, :test do gem "rspec-rails" end }} -RAILS_ENVを指定する。 RAILS_ENV=development bundle exec rails g -でも間違えないように。config/application.rbをいじったほうが簡単。