bmargulies Bauen mit gab die Antwort, aber lassen Sie mich in einigen Details füllen.
<testresources>
kann den <build>
Knoten des Maven POM, wie dies hinzugefügt werden:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
</testResources>
Das alles Kopie in src/test/java - einschließlich dem .java-Quellcode, die wir nicht tun wollen.
Sie überschreibt auch (wie bmargulies nur angedeutet hat) die Standardeinstellung <testResources>
im Standard-Parent-POM, von der alle anderen POM erben (sofern diese Vererbung nicht geändert wird). Das Standard-Elternteil kopiert src/test/resources, indem wir das überschreiben, bekommen wir das nicht wie üblich kopiert, was wir nicht wollen. (Mein Hauptgrund dafür ist die Verwendung von untils, die die unitis.properties-Datei kopieren wollen - und das ist (für mich sowieso) in src/test/resources.
Also fügen wir src erneut hinzu/test/resources:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
die Kopien in der Reihenfolge aufgeführt, so dass für Dateien, die in sowohl/src/test/java (und Unterverzeichnisse) und in/src/test/Ressourcen (und Unterverzeichnisse) vorhanden ist, Die Version src/test/resources ist diejenige, die in Testklassen endet.
Jetzt müssen wir nur nicht kopieren Sie die .java-Dateien:
Sie können Maven dazu konfigurieren, aber es ist im Allgemeinen "bequemer", den Konventionen zu folgen und die Ressourcendateien zu setzen wo Maven denkt, dass sie sein sollten. – Thilo
Die Unilars-Konvention besteht jedoch darin, die dbunit-XML-Dateien in dasselbe Verzeichnis wie den Test zu stellen, der sie verwendet. Und ehrlich gesagt, das wird für mein Team leichter. Der springende Punkt dabei ist, die Schmerzen beim Schreiben von dbunit-Tests zu reduzieren, was untrennbar mit dem Unitics zusammenhängt. – tpdi