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