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?
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.