Setup und abreißen von Komplexen Datenbank-Zustand Mit Hibernate / Spring / JUnit

Habe ich eine Klasse, die ich bin-unit-Tests erfordert relativ umfangreiche Datenbank, setup, bevor die einzelnen test-Methoden ausgeführt werden können. Das setup dauert eine lange Zeit: aus Gründen hoffentlich nicht relevant für die Frage auf der hand, ich brauche zum Auffüllen der DB programmgesteuert statt aus einem SQL-dump.

Habe ich ein Problem mit der tear-down. Wie kann ich leicht rollback alle änderungen in der db-setup-phase?

Ich bin derzeit mit Hibernate + Spring Transaktions-Testing-Unterstützung, so dass meine einzelnen test-Methoden sind verpackt in Transaktionen.

Eine Lösung wäre die db-setup innerhalb jeder test-Methode, so dass die db-setup zurückgesetzt werden würde, automatisch. Jedoch, die test-Methoden würde ewig dauern, bis da laufen jede Methode würde müssen zu re-prep der Datenbank.

Irgendwelche anderen Ideen? Im Grunde bin ich auf der Suche nach einem Weg, um mein db-setup, führen Sie meine einzelnen tests (jeweils verpackt in einer Transaktion, die bekommt Rollback nach Ausführung), und dann roll-back " - die erste db-setup. Irgendwelche Ideen auf, macht diese Arbeit in einer Hibernate /Spring /Junit-Mode? Gibt es einen Ruhezustand "drop all tables" entsprechende Befehl?

InformationsquelleAutor Brian Ferris | 2009-05-05
Schreibe einen Kommentar