&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をいじったほうが簡単。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS