Я пытаюсь высушить фабрику пользователей, которая определяет пару подклассов:
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", чтобы дать пользователю имя, которое отражает то, что онесть, что входит в удобные тесты отладки, в которых участвуют многие пользователи
Интересно, есть ли способ установить атрибут имени с использованием имени фабрики, например:
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
Iкопали вокруг, но кажется, что нет никакого контекста, доступного в тот момент, когда фабрика оценивается для достижения этого.Это было бы правильным предположением, или это какое-то волшебство, которое я могу использовать, чтобы достичь этого!?