我想创建两个对象,这些对象引用我在before(:each)块中创建的另一个单个对象
例如
# 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实例,因为我不允许重复属性而失败。
我喜欢将blah_1和blah_2同时送到引用一个foo工厂。
提前感谢您的帮助:)
答案 0 :(得分: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)
从我的角度看似乎很合理。