首页 > 解决方案 > FactoryBot 获取工厂的可用特征

问题描述

是否有 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

我希望能够以编程方式获取特征,例如 FactoryBot.get_traits (:address) ,它将返回为该工厂定义的特征数组,在本例中为

["in_california", "in_new_york", "in_florida"]

这是否使它更清楚?

标签: ruby-on-railsrubyfactory-botfactory

解决方案


我相信您想要的是以下内容:

FactoryBot.factories[:address].defined_traits.map(&:name)
#=> ["in_california", "in_new_york", "in_florida"]

推荐阅读