Ich weiß, dass Sie alle Tests in einer bestimmten Klasse ausführen können mit:
mvn test -Dtest=Klassenname
Aber ich möchte eine einzelne Methode ausführen und -Dtest=Klassenname.methodenname scheint nicht zu funktionieren.
Ich weiß, dass Sie alle Tests in einer bestimmten Klasse ausführen können mit:
mvn test -Dtest=Klassenname
Aber ich möchte eine einzelne Methode ausführen und -Dtest=Klassenname.methodenname scheint nicht zu funktionieren.
Neue Versionen von JUnit enthalten den Categories-Läufer: http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html
Aber das Veröffentlichungsverfahren von JUnit basiert nicht auf Maven, daher müssen Maven-Benutzer es manuell in ihre Repositories einfügen.
Subj wird ab Version 2.7.3 des Maven Surefire-Plugins unterstützt: maven.apache.org/plugins/maven-surefire-plugin/examples/…
Ab der Surefire-Plugin-Version 2.22.1 (möglicherweise früher) können Sie einen einzelnen Test mit der Testnamen-Eigenschaft ausführen, wenn Sie die testng.xml verwenden
Angenommen, Sie haben die folgende testng.xml
mit der pom.xml
4.0.0
[...]
all-tests
[...]
org.apache.maven.plugins
maven-surefire-plugin
2.22.1
src/test/resources/testng.xml
testnames
${selectedTests}
[...]
Von der Befehlszeile aus
mvn clean test -DselectedTests=run-B-test
Weitere Informationen - Maven Surefire-Plugin mit TestNG verwenden
Sie müssen die JUnit-Testklasse und deren Methode angeben, die ausgeführt werden soll.
mvn test -Dtest=com.mycompany.AppTest#testMethod
https://metamug.com/article/java/build-run-java-maven-project-command-line.html#running-unit-tests
Sie können eine einzelne Testklasse ausführen, aber nicht eine einzelne Methode innerhalb einer Testklasse. Sie verwenden den einfachen Namen der Klasse, nicht den vollqualifizierten Namen der Klasse. Also, wenn Sie einen Test in "org.sonatype.test.MyTest" haben und das der einzige Test ist, den Sie ausführen möchten, würde Ihr Befehlszeilenbefehl wie folgt aussehen:
mvn test -Dtest=MyTest
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
3 Stimmen
Ich wäre auch daran interessiert zu wissen, wie man dies macht. Wenn ich es jedoch recht oft mache, denke ich, dass der Test möglicherweise ein Kandidat für eine eigene Klasse ist, sodass du die Syntax
mvn test -Dtest=classname
verwenden kannst.0 Stimmen
Möchtest du wissen, wie man es nur über die Befehlszeile macht?? Oder würde es für dich funktionieren, ein IDE (Eclipse) zu verwenden?
1 Stimmen
Ich habe mir eine Befehlszeile angeschaut. Ich denke, das JUnit Eclipse-Plugin wird es Ihnen ermöglichen, dies zu tun.
0 Stimmen
Ich habe das für Maven 1 gemacht. Soweit ich mich erinnere, umfasste dies Änderungen an JUnit, das für die Introspektion der Testklasse verantwortlich ist.