Factory Girl create_list 具有特征和动态变量

Factory Girl create_list with trait and dynamic variable

我正在尝试通过 Factorygirl 回调创建一些额外的记录。它必须使用该工厂中的一个特征,并且必须向它传递一个动态变量。我以为我可以做这样的事情:

create_list(:some_factory, 5, :some_trait, dynamic_variable: 1)

但是我在 ActiveRecord 对象上得到一个未定义的方法“dynamic_variable=”

您需要在工厂中定义瞬态。这是一个示例,我从 wiki

复制
factory :user do
  transient do
    rockstar true
    upcased  false
  end

  name  { "John Doe#{" - Rockstar" if rockstar}" }
  email { "#{name.downcase}@example.com" }

  after(:create) do |user, evaluator|
    user.name.upcase! if evaluator.upcased
  end
end

create_list(:user, 10, upcased: true).name