すべてのコントローラ テスト用にいくつかのファクトリをロードする方法はありますか? すべてのコントローラー テスト (メニュー項目) に必要ないくつかを持っていますが、それらすべてをコントローラーに個別に配置するのは好きではありません。あまり乾燥していません:)
ありがとう
すべてのコントローラ テスト用にいくつかのファクトリをロードする方法はありますか? すべてのコントローラー テスト (メニュー項目) に必要ないくつかを持っていますが、それらすべてをコントローラーに個別に配置するのは好きではありません。あまり乾燥していません:)
ありがとう
たぶん、ここで強調表示されているrspecの共有コンテキストを見ることができます:https ://www.relishapp.com/rspec/rspec-core/v/2-11/docs/example-groups/shared-context
RSpec マクロを作成します。
使用user
したいファクトリとして使用すると、次の例が表示されますspec/support/controller_macros.rb
。
module ControllerMacros
let!(:user) { FactoryGirl.create :user }
end
spec/spec_helper.rb
コントローラーのマクロをインクルードします。
RSpec.configure do |config|
config.extend ControllerMacros, :type => :controller
end
は、ブロック内で参照されているかのlet!
ようです。let
before
メソッドなどを追加するのControllerMacros
にも便利な場所です。sign_in
共有の例を入れることもできspec/support
ます。