Ruby on rails 评估工厂上下文以用作属性值
我试图干掉一个定义了两个子类的用户工厂:Ruby on rails 评估工厂上下文以用作属性值,ruby-on-rails,factory-bot,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 stuf
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
目前,我使用transient属性“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
我进行了一番挖掘,但似乎在工厂被评估以实现这一目标时,没有可用的背景。这是一个正确的假设,还是他们的一些魔法我可以用来实现这一点