ja hallo erstmal,.. Am Freitag, 21. Dezember 2007 schrieb Jan Luehr: > ja hallo erstmal,.. > > derzeit stehe ich vor dem Problemen, einen unit-Test für eine Klasse > schreiben zu müssen, die einen Attribute-Setter für eine fields_for > Umgebung verwendet. (Analog zu project.rb aus > http://www.railscasts.com/episodes/75) > Leider verhält sich das Modell im Unit-Test anders als in der Anwendung. > Konkret: > - Im Test wird - im Gegensatz zur Anwendung - wird die als after_save > update registrierte Callback-Methode nicht ausgeführt. > - Im Test werden - im Gegensatz zur Anwendung - referenzierte Objekte > mitgespeichert, d.h. die Notwendig im after_save über alle referenzierten > Objekte iterieren zu müssen um sie mit save zu speichern entfällt. > > Leider verstehe ich derzeit nicht ganz, wieso dies geschieht und wie ich > das Verhalten aus der Anwendung erzwingen kann. > Any hints?
Ich glaube das ist ein wenig unverständlich geschrieben. Mal konkret: Das Model sieht so aus: http://pastie.caboo.se/131871 Der Test so: http://pastie.caboo.se/131872 Das Log irritiert ein wenig: http://pastie.caboo.se/131873 Denn: - after_update wird nicht ausgeführt - Die contact_interactions werden mitgeschrieben. Woran könnte dies liegen? Btw. der includierte SaveMixinHelper ist harmlos, er fügt ein paar Protokoll-Felder ein. Interessant ist aber, dass die before callbacks offensichtlich ausgeführt werden: http://pastie.caboo.se/131874 Ins blaue geschossen: Es scheint so, als wenn durch den Rollback, nie die afterupdate-Situation vorliegt. Ich würde jedoch gerne im Unit-Test das gleiche Verhalten haben, wie in der Anwendung. (D.h. after_update Fall liegt vor, contact_interactions werden nicht automatisch mitgeschrieben, wie in http://railscasts.com/episodes/75 ausgeführt) Any hints, Danke, frohes Fest Jan _______________________________________________ rubyonrails-ug mailing list [email protected] http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
