是否可以将工厂转移到特质中?
鉴于以下特征
FactoryGirl.define do
factory :foo do
trait :with_user do
end
end
end
我想做(伪代码)
之类的事情FactoryGirl.create(:foo, :with_user(user))
答案 0 :(得分:0)
我刚才想到这一点,所以我认为我应该发布解决方案以防万一有人遇到这个问题。
我使用瞬态和后创建钩子来获得所需的结果。
create :foo, :with_user, user: create(:user)
FactoryGirl.define do
factory :foo do
trait :with_user do
transient do
user nil
end
after :create do |foo, evaluator|
user = evaluator.user || create :user
end
end
end
end