Unit-Test für Modell mit _attributes setter

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 #75 Complex Forms Part 3 - RailsCasts)
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?

Danke,
Keep smiling
yanosz

ja hallo erstmal,…
Am Freitag, 21. Dezember 2007 schrieb Jan L.:

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

ausgeführt)
Any hints,
Danke, frohes Fest
Jan