Using Maven, how do I run specific tests?
I have thousands of unit tests in my p开发者_如何学Croject, and I'd like to choose one or a couple of them to run from the command line. What's the command to do that?
You can run all the tests in a class, by passing the -Dtest=<class>
flag to Maven:
mvn clean test -Dtest=xxxxTest
Since Surefire 2.8, you can also run an individual test, say a method testA
within your unit tests, using the same flag:
mvn clean test -Dtest=xxxxTest#testA
More examples for running multiple tests, by name pattern or name lists, can be found in the Maven Surefire documentation > Running a Single Test.
Please read this piece of the maven surefire plugin manual. Basically you can do the following:
mvn -Dtest=*PerformanceTest clean test
Which only runs all the test classes ending in PerformanceTest.
+1 to the above answers, and... make sure you're in the same directory of the module where the test you're trying to run lives.
I ran into this issue, because I normally work in multi-module projects and run mvn clean install
from the root of the project... but for this use case, you need to cd
into the module of the test you're trying to run.
精彩评论