Using Maven, how do I run specific tests?
I have thousands of unit tests in my project, 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?
Solution 1:
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.
Solution 2:
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.