有没有办法factory_girl
指定关联应该指向的随机实例?例如,我有一个Like
对象belongs_to
oneUser
和 one SocialUnit
。我希望工厂Like
选择一个随机现有的User
和一个随机SocialUnit
喜欢的,而不是仅仅生成一个新的。下面的片段类型的作品:
Factory.define :like do |f|
if User.all.count > 0
f.user User.all.sort_by{ rand }.first
else
f.association :user
end
end
它确实选择了一个随机用户,但似乎随机用户只被选择了一次,因为运行这个
def create_hauls
5.times do |i|
Factory(:haul)
end
end
用同一个用户创建一堆喜欢。我想这是有道理的……工厂被定义一次,然后被重复使用了很多次。
我可以使用序列来强制随机性;有没有办法在工厂定义中定义它,或者顺序是最好的方法?
谢谢。