评估工厂的上下文以用作属性值

时间:2019-02-08 13:13:30

标签: ruby-on-rails factory-bot

我正在尝试干燥定义了两个子类的用户工厂:

FactoryGirl.define do

  factory :user do

    transient do
      kind 'user'
    end

    sequence(:name) { |n| "Factory Girl #{kind} ##{n}" }

    factory :supervisor, class: User do
      kind 'supervisor'
      #...other stuff
    end

    factory :admin, class: User do
      kind 'supervisor'
      #...other stuff
    end

  end
end

此刻,我使用瞬态属性“ kind”为用户提供一个反映用户身份的名称,这是涉及许多用户的便捷调试测试中的

我想知道是否可以使用工厂名称来设置name属性,例如:

FactoryGirl.define do

  factory :user do

    sequence(:name) { |n| "Factory Girl #{__FACTORY_NAME__} ##{n}" }

    factory :supervisor, class: User do
      #...other stuff
    end

    factory :admin, class: User do
      #...other stuff
    end

  end
end

我进行了深入研究,但是似乎在评估工厂实现这一点时没有可用的上下文。那是一个正确的假设,还是我可以使用他们的一些巫术来实现这一目标!?

0 个答案:

没有答案