You could use a pattern as well, for example
mvn '-Dtest=de.mypackage.*Test' test
runs all tests in classes from package de.mypackage ending on *Test
.
[update 2017/12/18]:
Since this became the accepted answer, here’s some further information:
- Maven uses the Maven Surefire plugin to execute tests.
-
The syntax used above (qualified package name) requires Surefire version
2.19.1
or higher! Earlier versions require the use of path expressions, for examplemvn -Dtest="de/mypackage/*Test" test
-
I’m using quotes (` or “) to prevent the shell from performing pathname expansion, Maven doesn’t require any quotes.
-
A single test method can be exuted using the following syntax
mvn -Dtest=MyUnitTest#testMethod test
-
All tests from subpackages may be includes as well, in order to execute all tests in or beneath package
de.mypackage.sub
execute:mvn -Dtest="de/mypackage/sub/**" test
or with Surefire
2.19.1
or highermvn -Dtest="de.mypackage.sub.**" test
There are further possibilities like using regular expressions, see the official documentation of running a single test.