M
michels
Gast
Hallo zusammen,
wir benutzen JUnit Tests in der Geschäftslogik mit EasyMock und in der Datenbankschnittstelle mit Asserts. Vor kurzer Zeit wurde DBUnit als Alternative angesprochen. Ich hatte aber noch nie davon gehört.
Meine Frage: Was sind eigentlich die Unterschiede? DBUnit würde nur in der Datenzugriffsschicht funktionieren, nicht in der Geschäftslogik - richtig? Und wo liegen die Vorteile von DBUnit Tests. In unserer Entwicklungsumgebung existieren die selben Tabellen wie in der live-Anwendung, jedoch sind keine Daten drin. Wenn jetzt jemand die Daten ausserhalb der Anwendung modifiziert, schlägt mein JUnit Test fehl - weil er sich eben auf die "festen", angegeben Daten bezieht (es sind 5 Datensätze drin, also erwartet er auch 5 nach Ausführung des Tests. Sollte jedoch vorher ein weiterer hinzugefügt worden sein, sind es ja 6. Es kommt also zu einem Fehler obwohl der Test prinzipiell richtig arbeitet). Ist das mit DBUnit vielleicht auch eleganter zu lösen?
Wäre super, wenn jemand Vor- und Nachteile von DBUnit gegenüber JUnit Tests auflisten könnte, vielleicht sind auch beide einfach für unterschiedliche Themen geeignet und haben verschiedene Vorbedingungen?
Vielen Dank im Voraus!
wir benutzen JUnit Tests in der Geschäftslogik mit EasyMock und in der Datenbankschnittstelle mit Asserts. Vor kurzer Zeit wurde DBUnit als Alternative angesprochen. Ich hatte aber noch nie davon gehört.
Meine Frage: Was sind eigentlich die Unterschiede? DBUnit würde nur in der Datenzugriffsschicht funktionieren, nicht in der Geschäftslogik - richtig? Und wo liegen die Vorteile von DBUnit Tests. In unserer Entwicklungsumgebung existieren die selben Tabellen wie in der live-Anwendung, jedoch sind keine Daten drin. Wenn jetzt jemand die Daten ausserhalb der Anwendung modifiziert, schlägt mein JUnit Test fehl - weil er sich eben auf die "festen", angegeben Daten bezieht (es sind 5 Datensätze drin, also erwartet er auch 5 nach Ausführung des Tests. Sollte jedoch vorher ein weiterer hinzugefügt worden sein, sind es ja 6. Es kommt also zu einem Fehler obwohl der Test prinzipiell richtig arbeitet). Ist das mit DBUnit vielleicht auch eleganter zu lösen?
Wäre super, wenn jemand Vor- und Nachteile von DBUnit gegenüber JUnit Tests auflisten könnte, vielleicht sind auch beide einfach für unterschiedliche Themen geeignet und haben verschiedene Vorbedingungen?
Vielen Dank im Voraus!