iba*_*alf 7 ruby factory ruby-on-rails factory-bot
是否有 FactoryBot 方法或某种方式来获取工厂的可用特征?
前任:
FactoryBot.define do
factory :address, class: Address do
trait :in_california do
state 'CA'
end
trait :in_new_york do
state 'NY'
end
trait :in_florida do
state 'FL'
end
end
Run Code Online (Sandbox Code Playgroud)
我希望能够以编程方式获取特征,例如 FactoryBot.get_traits (:address) ,它将返回为该工厂定义的特征数组,在本例中是
["in_california", "in_new_york", "in_florida"]
Run Code Online (Sandbox Code Playgroud)
这样是不是更清楚了?
我相信您想要的是以下内容:
FactoryBot.factories[:address].defined_traits.map(&:name)
#=> ["in_california", "in_new_york", "in_florida"]
Run Code Online (Sandbox Code Playgroud)