我有一个属于一个组的用户模型.组必须具有唯一的名称属性.用户工厂和组工厂定义为:
Factory.define :user do |f|
f.association :group, :factory => :group
# ...
end
Factory.define :group do |f|
f.name "default"
end
Run Code Online (Sandbox Code Playgroud)
创建第一个用户时,也会创建一个新组.当我尝试创建第二个用户时,它失败了,因为它想要再次创建相同的组.
有没有办法告诉factory_girl关联方法首先查看现有记录?
注意:我确实尝试定义一个方法来处理这个,但后来我不能使用f.association.我希望能够在像这样的Cucumber场景中使用它:
Given the following user exists:
| Email | Group |
| test@email.com | Name: mygroup |
Run Code Online (Sandbox Code Playgroud)
这只有在工厂定义中使用关联时才有效.