ruby-on-rails – 同一工厂的多个版本(FactoryGirl)

有没有办法拥有同一工厂的多个版本?例如,用户工厂.

FactoryGirl.define do
  factory :user#1 do
    name 'John Doe'
    date_of_birth { 21.years.ago }
  end

  factory :user#2 do
    name 'Jane Doe'
    date_of_birth { 25.years.ago }
  end
end

有这样的东西,所以我可以调用FactoryGirl.create:用户#1代表John或FactoryGirl.create:用户#2代表简?

用户工厂是我实际上没有使用的示例,但我的真实工厂正在使用大量数据.我发现每次需要其他用户时手动更改大量数据都很麻烦.

最佳答案 你不必申报两次

跟着

FactoryGirl.define do
  factory :user do
    name
    date_of_bith
  end
end

现在动态地你可以打电话

user1 = FactoryGirl.create(:user, name: 'John doe', date_of_birth: 21.year.ago)
user2 = FactoryGirl.create(:user, name: 'Jane doe', date_of_birth: 25.year.ago) 
点赞