Die neue Klasse TestDBUtils stellt zwei neue Methoden bereit, die in den Test-Klassen eine Verschmutzung der Datenbank vermeiden.
prepareTestDB()
Diese Methode bereitet die Testdatenbank vor. Dazu wird die aktuelle Datenbank einfach dupliziert und unter einem anderen Namen abgelegt.
Sie darf nur in Setup-Methoden mit der BeforeClass Annotation verwendet werden!
loadBackupDB()
Diese Methode lädt die alte Datenbank. Dazu wird die zuvor kopierte Datenbank als aktuelle eingesetzt. Die Test-Datenbank und das Backup werden gelöscht.
Sie darf nur in Setup-Methoden mit der AfterClass Annotation verwendet werden
Bemerkungen
Bei der Verwendung der Methoden müssen die Setup-Methoden im Methodenkopf throws IOException enthalten. Dadurch ist in dem Fall, dass die Datenbank nicht vorbereitet oder wiederhergestellt werden kann sichergestellt, dass die Tests nicht ablaufen können.
Ich habe die PreventNullPersist-Tests bereits damit angepasst, so dass man sich an diesen orientieren kann.
Es ist zudem unheimlich wichtig, dass immer beide Methoden in einer Klasse verwendet werden!
Die neue Klasse TestDBUtils stellt zwei neue Methoden bereit, die in den Test-Klassen eine Verschmutzung der Datenbank vermeiden.
prepareTestDB()
Diese Methode bereitet die Testdatenbank vor. Dazu wird die aktuelle Datenbank einfach dupliziert und unter einem anderen Namen abgelegt. Sie darf nur in Setup-Methoden mit der BeforeClass Annotation verwendet werden!
loadBackupDB()
Diese Methode lädt die alte Datenbank. Dazu wird die zuvor kopierte Datenbank als aktuelle eingesetzt. Die Test-Datenbank und das Backup werden gelöscht. Sie darf nur in Setup-Methoden mit der AfterClass Annotation verwendet werden
Bemerkungen
Bei der Verwendung der Methoden müssen die Setup-Methoden im Methodenkopf
throws IOException
enthalten. Dadurch ist in dem Fall, dass die Datenbank nicht vorbereitet oder wiederhergestellt werden kann sichergestellt, dass die Tests nicht ablaufen können. Ich habe die PreventNullPersist-Tests bereits damit angepasst, so dass man sich an diesen orientieren kann. Es ist zudem unheimlich wichtig, dass immer beide Methoden in einer Klasse verwendet werden!