Factory girl: создать объект с ассоциацией с существующим объектом - PullRequest
1 голос
/ 03 августа 2011

Я хотел бы создать два объекта, которые ссылаются на другой, единственный объект, который я создал в блоке 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

Когда я запускаю эту спецификацию, она пытается создать экземпляр foo как для blah_1, так и для blah_2, но не удается, потому что я не допускаю дублирования атрибута.

Я бы хотел бы , чтобы получить и blah_1, и blah_2 для ссылки на одну фабрику foo.

Заранее спасибо за помощь:)

1 Ответ

0 голосов
/ 04 августа 2011

То, что я в итоге сделал, исправило меня (, пожалуйста, дайте мне знать, если это плохая форма! ) ..

# 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)

Это кажется довольно разумным с моей точки зрения ..

...