2

すべてのコントローラ テスト用にいくつかのファクトリをロードする方法はありますか? すべてのコントローラー テスト (メニュー項目) に必要ないくつかを持っていますが、それらすべてをコントローラーに個別に配置するのは好きではありません。あまり乾燥していません:)

ありがとう

4

2 に答える 2

2

たぶん、ここで強調表示されているrspecの共有コンテキストを見ることができます:https ://www.relishapp.com/rspec/rspec-core/v/2-11/docs/example-groups/shared-context

于 2013-02-01T11:09:35.320 に答える
1

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!ようです。letbefore

メソッドなどを追加するのControllerMacrosにも便利な場所です。sign_in

共有の例を入れることもできspec/supportます。

于 2013-05-22T14:25:04.180 に答える