Я использую factory_girl_rails вместо приборов. Вот мои модели:
class User < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :user
end
Вот мои заводы:
Factory.define :user do |u|
end
Factory.define :task do |t|
t.association :user, :factory => :user
end
В тесте я делаю это:
user = Factory.create :user
(1..5).each { Factory.create(:task, :user => user)}
Проблема, с которой я столкнулся, заключается в том, что впоследствии user.tasks
содержит только одну задачу.
Я попытался определить фабрику user
следующим образом:
Factory.define :user do |u|
u.tasks {|tasks| [tasks.association(:user)] }
end
и вот так:
Factory.define :user do |u|
u.tasks {|tasks| [tasks.association(:user), tasks.association(:user)] }
end
В обоих случаях Factory.create(:user)
вызывает бесконечный цикл.