ruby-on-rails - 如何在 Factory Girl 中创建/构建工厂的多个实例?

标签 ruby-on-rails factory-bot

如何创建同一类的多个记录或多个工厂?

我试过:

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/

相关文章:

ruby-on-rails - RSpec 未加载 ControllerMacros 方法

ruby-on-rails - 如何在多个文件中拆分 factory_girl 定义?

ruby-on-rails - 设计在 XHR 上抛出 HTTP 身份验证并注销

ruby-on-rails - 为什么运行 rake db :migrate? 时未(正确)生成 schema.rb

ruby-on-rails - rails gem Simple_form 安装不工作

ruby-on-rails - Rails 引擎中的身份验证和授权

ruby-on-rails - 使用过滤的 ActiveRecord 对象创建嵌套的 JSON

ruby-on-rails - 从另一个模型调用 Rails 模型

ruby-on-rails - 我在 Factory Girl 中使用序列来获取唯一值,但出现验证错误

ruby-on-rails - rspec 和工厂女孩重复的工厂错误?