Ich habe ein Projekt mit mehreren Modulen. Wenn alle Tests bestanden sind, werden sie alle vom Maven-Test ausgeführt.
Wenn die Tests im ersten Modul fehlschlagen, fährt maven nicht mit dem nächsten Projekt fort. Ich habe testFailureIgnore in den Surefire-Einstellungen auf true gesetzt, aber es hilft nicht.
Wie lasse ich Maven alle Tests ausführen?
Antworten:
Aus der Maven Embedder-Dokumentation :
Wenn Sie also ein Modul testen, können Sie es sicher verwenden
-fae
.Andernfalls sollten Sie mehrere Module ausführen, wenn Sie mehrere Module haben und alle testen möchten (auch diejenigen, die vom Modul für fehlgeschlagene Tests abhängen)
mvn clean install -fn
.-fae
fährt mit dem Modul fort, bei dem ein Test fehlgeschlagen ist (führt alle anderen Tests aus), aber alle Module, die davon abhängen, werden übersprungen.quelle
--fail-never
. Maven wird den Build auch dann nicht fehlschlagen, wenn Kompilierungsfehler vorliegen. Wenn ich diese Option auf Jenkins verwende, sieht der Build auch dann erfolgreich aus, wenn viele Kompilierungsfehler vorliegen. Ich bevorzuge-Dmaven.test.failure.ignore=true
in diesem Fall und lasse Jenkins die todsicheren Berichte analysieren.Ich habe gerade den Parameter "-fae" gefunden, der dazu führt, dass Maven alle Tests ausführt und nicht bei einem Fehler stoppt.
quelle
Können Sie mit safefire 2.6 testen und entweder safefire mit konfigurieren
testFailureIgnore=true
. Oder in der Kommandozeile:quelle
Versuchen Sie, die folgende Konfiguration für das todsichere Plugin in Ihre pom.xml des Root-Projekts einzufügen :
quelle
Eine schnelle Antwort:
Funktioniert mit verschachtelten Projekterstellungen.
quelle