2011-08-03 1 views
1

への関連付けを持つオブジェクトを作成します(各)工場の女の子:私は別のを参照する2つのオブジェクト、私は前に作成した単一のオブジェクトを作成したいのですが、既存のオブジェクト

などをブロックします。

# in my factories.rb file.. 
factory :blah_1 do 
    association :foo, :factory => :foo 
end 

... 

# in my spec.. 

before(:each) do 
    foo = Factory(:foo) 
end 

... 

foo.blahs << Factory(:blah_1) 
foo.blahs << Factory(:blah_1) 
# some test on foo to make sure the right thing happened 

私はこの仕様を実行すると、それは私が重複した属性を許可していないので失敗し、blah_1とblah_2の両方のためのfooのインスタンスを作成しようとします。

私は参照単一のfoo工場にblah_1とblah_2の両方を取得するためにようを思います。あなたの助けを事前に

感謝:)

+0

':blah_1'の代わりに':blah_2'と言うようにコード内の最後の文を意図しましたか? –

答えて

0

私はそれをやってしまった何が(これは悪い形であるなら、私に教えてください!)私を固定...

# in my factories.rb.. 
factory :blah_1 do 
    # attributes, no associations 
end 

# in my spec.. 
before(:each) do 
    @foo = Factory(:foo) 
end 

... 

foo.blahs << Factory(:blah_1, :foo => @foo) 
foo.blahs << Factory(:blah_2, :foo => @foo) 

それはかなりいるようです私の見解から妥当なものです。

+0

はい、これは私の最終的な解決策です。 –

関連する問題