Maven surefire 2.12 führt keinen spezifischen Test mit dem Parameter -DTest aus

8

Nach dem Upgrade aller Maven-Plugins für ein Projekt ist folgendes Problem aufgetreten: Wenn ich den Basisbefehl mvn test -Dtest=SomeTest ausführe, wird der Build beendet, ohne dass ein Test ausgeführt wird. Tatsächlich kann ich keinen Test mit -Dtest -Parameter ausführen (natürlich existiert der Test und wird ausgeführt, wenn ich mvn test einfach ausführe).

Nach einigen Suchanfragen scheint das Problem auf die Verwendung des securefire 2.12 -Plugins zurückzuführen zu sein. Ich habe mehrere Versionen von Maven (2.2.1 / 3.0.2) und JUnit (4.7.x, 4.8, 4.10 oder sogar 3.8.x) getestet, aber sie haben keine Auswirkungen auf mein Problem.

Vielleicht hat mein Projekt also bestimmte Konfigurationen, die sich darauf auswirken könnten? Wie auch immer, ich habe ein neues Projekt erstellt, indem ich mvn archetype:generate benutze (mit dem einfachen org.apache.maven.archtypes: maven-archetype-quickstart ).

Ich habe nur zwei Dinge in pom.xml geändert: mit JUnit 4.10 (aber es hat nichts geändert, ich habe es mit anderen Versionen versucht) und die Version von todsicheren definiert:

%Vor%

Ich führe mvn test -Dtest=AppTest (den Standard-JUnit-Test, der vom Archetyp erstellt wurde) aus:

%Vor%

Nun ändere ich die pom.xml für die Verwendung von Version 2.12 für Surefire und führe den Befehl erneut aus:

%Vor%

Der Test wird diesmal nicht ausgeführt: (

Soweit es mich betrifft, denke ich, dass es eine Regression ist, aber das ist ziemlich überraschend. Tatsächlich ist ein JIRA-Fehler in der Surefire 2.12-Version geloggt, und in dieser Beschreibung ist es ihnen gelungen, -Dtest zu verwenden. Parameter.

Mache ich etwas falsch? Oder ist es eine echte Regression (in diesem Fall werde ich die JIRA erstellen)?

Danke.

    
romaintaz 02.03.2012, 09:57
quelle

1 Antwort

13

Es ist ein Fehler in der 2.12 Version - SUREFIRE-827 .

    
Andrew Logvinov 02.03.2012, 10:33
quelle

Tags und Links