Ich habe eine Anwendung, für die die Prod/Test/Qa-Datenbank nur Oracle ist. Des Weiteren vermute ich, dass SQL-Abfragen Oracle-spezifisch sind. Und leider hat diese Anwendung keine bis zwei Komponententests.Wie Oracle als eingebettete Datenbank für die Ausführung von Komponententests in Maven verwenden?
Als Konsequenz würde ich gern Unit-Tests implementieren, speziell in Bezug auf die Suchkomponente (die offensichtlich viele Oracle-Operationen ausführt, einschließlich der Erstellung von Tabellen).
Normalerweise, wenn ich Tests ausführen möchte, starte ich eine eingebettete Datenbank (HSQL, als Beispiel), führe meine Tests auf dieser Datenbank aus, und lass es verblassen, wenn meine Tests enden.
Aufgrund meines mangelnden Vertrauens in die Standardisierung dieser Anwendung würde ich lieber Tests in einer Oracle-Datenbank durchführen. Als Konsequenz möchte ich die Oracle-Datenbank starten, wenn meine Tests starten, füllen Sie sie mit einigen Testdaten und stoppen Sie sie am Testende. Wie kann ich das in einem Maven Kontext tun?
Hinweis: Seien Sie bei der Formulierung genau. Ich denke, dass die überwiegende Mehrheit der IT-Experten einen Test, der eine laufende Datenbank benötigt, nicht in Erwägung ziehen würde, um ein ** Unit ** -Test zu sein. Besser nennen Sie es einen Funktions- oder Integrationstest; nur um Missverständnisse für alle um dich herum zu verhindern. True ** Unit ** -Tests werden zur Kompilierungszeit ausgeführt. Sie brauchen nur Ihre kompilierten Klassen und JUnit - nicht einige eingebettete Datenbank, Dateisystem, Web-Service, Socket, ... – GhostCat