Maven - Wie kompiliere ich Tests, ohne sie auszuführen?
128
Gibt es in Maven eine Möglichkeit, die Tests zu kompilieren, ohne sie auszuführen? Ich möchte die IDE verwenden, um bestimmte Tests auszuführen, und nicht alle.
In Netbeans habe ich das gemacht. Ich sehe die folgenden mvn -Dmaven.test.skip = true -Dnetbeans.execution = true sauber installieren, dann sehe ich die folgenden
user373201
[compiler: testCompile] Testquellen werden nicht kompiliert. [todsicher: test] Tests werden übersprungen. Zumindest mit Netbeans sieht es so aus, als würden beim Überspringen von Tests keine
Testquellen
1
Egal, obwohl die Protokolle dies sagen, scheint es immer noch Testdateien zu kompilieren.
user373201
34
Dies führt dazu, dass Tests vollständig übersprungen werden: Ausführung sowie Kompilierung, siehe die richtige Antwort unten: Testkompilierung. Ich benutze es mit mvn clean compile test-compile in Eclipse
Yashima
3
@ Yashima Sie haben Recht, diese Antwort ist nicht so klug ... bitte akzeptieren Sie die Antwort unten, so kann ein diese löschen
lweller
334
Wie wäre es mit der test-compileLebenszyklusphase? Das Überspringen von Tests ist nicht erforderlich, da es vor der testPhase erfolgt. Dh
Das war genau das, was ich brauchte, danke. Ich weiß nichts über den ursprünglichen Fragesteller. Ich wollte jedoch die Tests kompilieren und sie dann mit einem separaten Testläufer ausführen.
Mike Miller
30
Um nur die Tests und den Code zu kompilieren, ohne sie auszuführen, gehen Sie einfach wie folgt vor:
Antworten:
Sie können versuchen, Parameter zu verwenden
-DskipTests
Verweise:
quelle
Wie wäre es mit der
test-compile
Lebenszyklusphase? Das Überspringen von Tests ist nicht erforderlich, da es vor dertest
Phase erfolgt. DhUnd fertig.
Die Einführung in den Build-Lebenszyklus wird weiter erläutert.
quelle
Um nur die Tests und den Code zu kompilieren, ohne sie auszuführen, gehen Sie einfach wie folgt vor:
quelle
Wenn Sie ein Ziel ausführen, das die Testphase umfasst (z. B. ein Paket), können Sie zwei Dinge tun:
mvn -DskipTests=true package
. Dadurch werden alle Tests kompiliert, aber nicht ausgeführt.mvn -Dmaven.test.skip=true package
. Dadurch wird der Testzweig nicht kompiliert oder ausgeführt.quelle
Alternativ können Sie die
maven.test.skip.exec
Option verwenden.Maven kompiliert die Tests, ohne sie auszuführen. Ich benutze diese Option regelmäßig in allen meinen Projekten.
quelle
Wenn Sie wirklich nur die Tests kompilieren möchten (überspringen Sie alle anderen Phasen wie
compile
), reicht dies ausSiehe die Plugin-Bindungen des Standardlebenszyklus .
quelle
Wenn Sie die Datei settings.xml verwenden, können Sie diese auch verwenden
quelle