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

Antwort per Email an