Hi Stefan,

schöner Blog Post dazu: http://errtheblog.com/post/7708

Ich habe auch einige Test Cases in denen ich mir meine Test Daten komplett ohne Fixtures aufbaue. Ich mach das aber nicht über den test_helper sondern meist als einfache methode im Testcase selbst. Die im Blog angesprochenen Scenarios habe ich allerdings noch nciht ausprobiert.

Gruß
Thomas

Stefan Frank wrote:
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


_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an