我正在尝试干燥定义了两个子类的用户工厂:
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
我进行了深入研究,但是似乎在评估工厂实现这一点时没有可用的上下文。那是一个正确的假设,还是我可以使用他们的一些巫术来实现这一目标!?