Sam*_*and 9 ruby-on-rails factory-bot
是否可以在FactoryGirl中定义默认特征?如果我定义这样的工厂(其中question_response都属于问题):
factory :question_response do
question
work_history
trait :open do
question { FactoryGirl.create :question, question_type: 'open' }
end
end
Run Code Online (Sandbox Code Playgroud)
当我这样做时FactoryGirl.create :question_response, :open,它将首先创建一个默认问题,然后在特征内创建另一个,这是一个不必要的操作.
理想情况下我想这样做:
factory :question_response do
work_history
trait :default do
question { FactoryGirl.create :question, question_type: 'yes_no' }
end
trait :open do
question { FactoryGirl.create :question, question_type: 'open' }
end
end
Run Code Online (Sandbox Code Playgroud)
然后做的FactoryGirl.create :question将使用默认特征,但似乎不可能.
当我执行 FactoryGirl.create :question_response, :open 时,它将首先创建一个默认问题,然后在特征中创建另一个问题
这不是真的。如果您使用 指定特征question,它将在创建之前覆盖工厂行为,以便它不会创建默认问题。
我用FactoryGirl v4.5.0检查过
| 归档时间: |
|
| 查看次数: |
2325 次 |
| 最近记录: |