How to run all tests in a particular package with Maven?

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 example

    mvn -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 higher

    mvn -Dtest="de.mypackage.sub.**" test
    

There are further possibilities like using regular expressions, see the official documentation of running a single test.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)