如何创建同一类的多个记录或多个工厂?
我试过:
Factory.define :user do |user|
user.email "someuser@somesite.com"
user.password "somepassword"
user.email "another_existing_user@somesite.com"
user.password "somepassword"
end
和
Factory.define :user do |user|
user.email "someuser@somesite.com"
user.password "somepassword"
end
Factory.define :user do |user|
user.email "another_existing_user@somesite.com"
user.password "somepassword"
end
但它不起作用--
Attribute already defined: email
.
最佳答案
使用工厂有两个步骤,第一个是定义它们,第二个是使用它们。
1)定义它们:
Factory.define :user do |u|
u.sequence(:email) { |n| "mike#{n}@awesome.com"}
u.password "password123"
end
2)使用它们:
一个例子是在规范中使用它们:
@user1 = Factory(:user) #has an email of mike1@awesome.com
@user2 = Factory(:user) # has an email of mike2@awesome.com due to sequences in FG
我会看这个 Railscast以获得更好的感觉。
关于ruby-on-rails - 如何在 Factory Girl 中创建/构建工厂的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509790/