У меня есть (упрощенные) заводы, определенные следующим образом:
factory :league do
acronym 'NBA'
end
factory :division do
league
end
Дивизии принадлежат Лигам. Когда я определяю этот factory, я полагал, что 1 лига будет создана, и эта лига будет повторно использоваться снова и снова, чтобы дать дивизиям реальную лигу.
Вместо этого я получаю ошибки во втором вызове FactoryGirl.create(:division)
, потому что Лига acronym
должна быть уникальной.
class League < ActiveRecord::Base
validates :acronym, uniqueness: true
end
что приводит к следующему разрыву в тесте
ActiveRecord:: RecordInvalid: не удалось выполнить проверку: уже принят Акт
Как я могу обойти это, желательно, не создавая иерархию в настройке теста?
Если для чего-то лучше, чем factory_girl, для чего я пытаюсь выполнить, предложите