Hallo,

wenn ich das richig überblicke, dann kann man mit fixtures nur "flache" Objekte bauen: Wie macht ihr das, wenn ihr mal ein komplexeres Objekt zum Testen braucht?!

Einfaches Beispiel: ich habe alle möglichen Ressourcen, die an einem "Projekt" hängen. z.B. gibt es zu jedem Projekt ein "Glossar", das automatisch zusammen mit dem Projekt angelegt wird (mit after_create do |record| record.glossary = Glossary.create(:name=>"Glossar für # {record.name}", :description => "Glossar für das Projekt # {record.name}") end) - wenn ich jetzt ein Projekt über Fixtures anlege, dann hat es kein Glossar, weil der Konstruktor nie aufgerufen wird.

Von solchen Tests hab ich eine ganze Menge - da verlassen sich geschachtelte Strukturen darauf, dass sie mit bereits richtig initialisierten Objekten arbeiten - und das richtige Anlegen der Objekte wird durch die Fixtures ja ausgehebelt.

Ich mach es jetzt erstmal so, dass ich im test_helper.rb eine Methode habe create_test_project, die ein fertig zusammengebautes Projekt baut, auf das dann die anderen Tests Zugriff haben - aber idealerweise würde ich halt gerne eine solche Struktur auch mit Fixtures basteln....

Hat da jemand ein paar "Best Practices", wie man sowas macht?

Viele Grüße
Stefan_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an