2016-07-27 30 views
1

Ich habe ein ANT-Projekt und ich migriere zu maven. Dieses Projekt hat einige src-Ordner und für jeden src-Ordner habe ich beschlossen, ein Maven-Modul-Projekt zu erstellen.Ist es gut, ein Projekt Maven Modul speziell für Tests zu erstellen?

Das Problem ist, dass jeder src-Ordner Komponententests hat und bei der Erstellung alle Klassen in einem Klassenordner kompiliert werden, so dass alle Abhängigkeiten zwischen den Tests gelöst sind.

Beim Erstellen von Maven-Modulen erkennt ein Modul die Abhängigkeiten zwischen Modulen nicht.

Ich dachte über die Erstellung eines Maven-Projekts speziell für Tests. Ist das eine gute Übung oder gibt es einen anderen Weg?

+0

Komponententests shold zu einem Modul gehören, so sollte es in der gleichen modulke unter 'src sein/test ' – Jens

+0

Das eigentliche Problem und die Auflösung dafür ist ziemlich klar. Das OP stellt im Titel einfach die falsche Frage. Die Lösung vorbringen durch @question_maven_com ist technisch korrekt, aber sie könnten wahrscheinlich etwas mehr für Klarheit –

Antwort

1

Normalerweise hat ein Maven-Projekt einen src/main- und einen src/test-Ordner, und Sie legen die Komponententests für das Projekt in den Ordner src/test.

Wenn Ihre Tests zusätzliche Abhängigkeiten benötigen, können Sie sie mit Testumfang in Ihrem Pom deklarieren.

+0

Das Problem erarbeiten, ich diese Struktur haben: - ELTERN ----- module1 ----- module2 - ---- module3 module2 hat Klassen, die von anderen Klassen von module1 abhängen, die im Ordner src/test enthalten sind. in pom.xml von module2 Ich habe module1 als abhängigkeit. Aber erkenne die src/test Klassen von Modul 1 nicht. Weißt du warum? –

+1

Dies ist wahrscheinlich eine unglückliche Konstruktion. In diesem Fall würde ich ein Test-Util-Modul empfehlen, das Hilfsklassen für Tests sammelt. Nichts sollte von src/test Ordnern abhängen. Die Tests selbst sollten in den src/test-Ordnern verbleiben. –

+0

ja, ich muss es tun. Danke für Hilfe –