verwenden ich DBUnit in meinem Frühling -basierte Testfall die sie durch Klasse DBTestCase in meiner Testklasse verwende, die den 'SpringJUnit4ClassRunner läuft unter '.Wie DBUnit mit mehreren Datenbanken/Datenquellen im Frühjahr
Dinge funktionieren, aber in meinem realen Anwendung, Tabellen über mehrere DB Schemen verstreut sind, so habe ich mehrere Datenquelle Bohnen in meinem Frühling Inhalt XML definiert.
Also, wenn DBUnit Einrichtung, müssen wir Methode außer Kraft setzen newDatabaseTester es mit einer IDatabaseTester Instanz zu schaffen, während ein ‚DataSourceDatabaseTester‘ Erstellen Bohne nur eine einzige Datenquelle nimmt im Konstruktor.
Weiß jemand über den richtigen Weg zum Setup DBUnit in diesem Fall, oder gibt es ein Beispielprojekt, auf das ich zugreifen kann, was dies implementiert hat? Vielen Dank !!
Danke, ich habe das gesehen, und es scheint, die Bibliothek funktioniert nur, wenn Sie XML-Dateien für die Datensätze bereitstellen; Stattdessen möchte ich Datensätze aus einer anderen Datenbank abfragen (Satz von DBs), so dass jede Datenquelle ein anderes Testschema verwendet, um die Daten abzufragen. Ich sehe es dir immer noch an, denn im Moment habe ich keine andere Wahl. –
Sie können AbstractDataSetLoader erweitern und Ihre Implementierung in @DbUnitConfiguration (dataSetLoader = YourDataSetLoader.class) – Monk3D
Auch ich empfehle den Tipp, aber das ist nicht so einfach. AbstractDataSetLoader gibt einen 'Resource' -Typ-Parameter für die Methode an, die überschrieben werden soll, und die abstrakte Klasse prüft, ob 'resource.exists()' vorhanden ist, so dass ich die Tabellennamen nicht über dieses Feld senden kann. Stattdessen muss ich den AbstractDataSetLoader ändern, so ein Problem. Das Projekt ist für Java 8 gedacht, also kompiliert es nicht und ich brauche eine ältere Version. –