0

FactoryGirl のドキュメントを読みましたが、これを理解できないようです。私はそれが単純でなければならないことを知っています。

これが私のセットアップです:

Rails 3.2.6
User has_many Products


FactoryGirl.define do
  factory :product do
    sequence(:identifier, 1000) {|n| "ABC#{n}" }
  end
end

製品に関連付けられた user_id が必要なため、これは失敗します。私のテストでは、ログイン中にユーザーを作成しています。したがって、私のテストはユーザー オブジェクトにアクセスできます。FactoryGirl を使用してユーザー オブジェクトを Product ファクトリに渡す方法がわかりません。

4

1 に答える 1

1

すでに User ファクトリ (つまり ) があると仮定すると、ファクトリfactory :user doに次の行を追加できます。:product

association :user

これにより、ユーザー ファクトリが (定義どおりに) 自動的に作成され、製品に割り当てられます。

ただし、テストでオブジェクトを作成する場合でも、次のようなことができます。

FactoryGirl.create(:produce, user: some_user)

別のユーザー変数を割り当てるために、ファクトリは追加した行からの関連付けを確認するためです。

お役に立てれば。

于 2012-06-23T21:37:47.260 に答える