Wie können Sie sich auf Testcode aus einem anderen Modul in Maven verlassen?
Beispiel, ich habe 2 Module:
- Base
- Main
Ich möchte, dass ein Testfall in Main eine Basistestklasse in Base erweitert. Ist das möglich?
Update: Es wurde eine akzeptable Antwort gefunden , bei der ein Testglas erstellt wird.
Antworten:
Ich empfehle die Verwendung von type anstelle von classifier (siehe auch: classifier ). Es sagt Maven etwas expliziter, was Sie tun (und ich habe festgestellt, dass es m2eclipse und q4e beide besser gefallen).
quelle
Vielen Dank für den Vorschlag für das Basismodul. Ich möchte jedoch lieber kein neues Modul für diesen Zweck erstellen.
Eine akzeptable Antwort in der Surefire Maven-Dokumentation und in einem Blog gefunden . Siehe auch " So erstellen Sie ein Glas mit Testklassen ".
Dadurch wird
src/test/java
mithilfe des JAR-Plugins eine JAR-Codedatei erstellt, sodass Module mit Tests Code gemeinsam nutzen können.Um die oben erstellte angehängte Test-JAR zu verwenden, geben Sie einfach eine Abhängigkeit vom Hauptartefakt mit einem angegebenen Klassifizierer von Tests an:
quelle
Wir haben dieses Problem gelöst, indem wir ein Maven-Projekt mit Testcode als src / main / java erstellt und den Projekten die folgende Abhängigkeit hinzugefügt haben:
quelle
Ja ... fügen Sie einfach das Basismodul als Abhängigkeit in Main ein. Wenn Sie nur Testcode erben, können Sie mithilfe des Scope-Tags sicherstellen, dass Maven den Code bei der Bereitstellung nicht in Ihr Artefakt einbezieht. So etwas sollte funktionieren:
quelle