2017-08-29 5 views
0

私はFGを使用してかなり新しく、以前の "create_list"呼び出しからいくつかのオブジェクトを作成しようとしています。これは正しい方法ですか?FactoryGirl:以前のcreate_listのcreate_list

let(:questions) { FactoryGirl.create_list :question, 5 } 
let(:answers) { questions.map do |q| 
        FactoryGirl.create :answer, question: q 
        end 
       } 

私にはよく見えます。

答えて

1

これは、データモデルによって異なります。

質問には回答が必要ですか?

はい、そうでない場合、FactoryGirl associations

を検討し、あなたのテストでそれらを作成する場合であれば、あなたはおそらく質問は答えを持っていないケースをテストする必要がありますよう、あなたはそれらを必要とするとき。

1

FactoryGirl Builderメソッドはすべて、新しく作成されたオブジェクトが生成されたブロックの提供をサポートしています。これを使用して、1回の呼び出しでレコードと関連付けを作成できます。例えば

FactoryGirl.create_list(:question, 5) do |question| 
    question.answers = FactoryGirl.build_list(:answer) 
    # or... 
    # question.answers.create(FactoryGirl.attributes_for(:answer)) 
end 

リソース