Прослушивание гигантских роботов, разбивающихся на подкасты других гигантских роботов, я слышал, что вы хотите, чтобы фабрики FactoryGirl были минимальными, предоставляя только те атрибуты, которые делают объект действительным в базе данных. При этом в разговоре также говорилось, что черты - действительно хороший способ определить конкретное поведение, основанное на атрибуте, который может измениться в будущем.Неплохо ли писать неправильные фабрики/черты FactoryGirl?
Мне интересно, есть ли хорошая идея иметь определенные черты, которые целенаправленно отказывают в проверке, чтобы очистить спецификационный код. Вот пример:
factory :winner do
user_extension "7036"
contest_rank 1
contest
trait :paid do
paid true
end
trait :unpaid do
paid false
end
trait :missing_user_extension do
user_extension nil
end
trait :empty_user_extension do
user_extension ""
end
end
позволит мне позвонить build_stubbed(:winner, :missing_user_extension)
в моей спецификации в тестах я намерен терпеть неудачу валидаций. Я полагаю, что я мог бы продолжить эту явную неудачу, вложив эти плохие фабрики под другой завод под названием :invalid_winner
, но я не уверен, что это необходимо. Меня больше всего интересует мнение других людей по этой концепции.