Die Validierung der Einzigartigkeit von Factory Girls schlägt für verbundene Fabriken fehl
Ich habe (vereinfachte) Fabriken wie folgt definiert:
factory :league do
acronym 'NBA'
end
factory :division do
league
end
Divisionen gehören zu Ligen. Als ich diese Fabrik definierte, ging ich davon aus, dass eine Liga erstellt und diese Liga immer wieder verwendet wird, um Divisionen eine echte league_id zu geben.
Stattdessen erhalte ich beim zweiten Aufruf von FehlerFactoryGirl.create(:division)
weil die Ligaacronym
soll einzigartig sein.
class League < ActiveRecord::Base
validates :acronym, uniqueness: true
end
Dies führt zu der folgenden Unterbrechung des Tests
ActiveRecord :: RecordInvalid: Überprüfung fehlgeschlagen: Akronym wurde bereits verwendet
Wie kann ich das umgehen, am besten ohne eine Hierarchie im Setup zum Test anzulegen?
Wenn es etwas Besseres als factory_girl für das gibt, was ich erreichen möchte, schlagen Sie es bitte vor