Rails Tests, Factory Girl, Assoziationen und ActiveRecord Callbacks
Beim Testen mit Factory Girl kam mir heute eine Fehlermeldung unter, die durch ein Callback verursacht wurde. Ein Modell erzeugte nach dem Anlegen ein zugehöriges Modell direkt via after_save :create_B. Die problematische Factory sah so aus:
factory :B do
association :blabla, :factory => :A
firstname "Max"
lastname "Mustermann"
end
Die Fehlermeldung lautete: ActiveRecord:RecordInvalid: A bereits vergeben!
Nach ein wenig Recherche war das Problem auf die Callback-Funktion eingegrenzt. Glücklicherweise können Callbacks deaktiviert werden. Die folgende Zeile in den entsprechenden Tests behob das Problem:
A.skip_callback(:save, :after, :create_B)
- Zum Verfassen von Kommentaren bitte Anmelden.
