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

后端 未结 9 1575
别跟我提以往
别跟我提以往 2021-01-30 02:18

I can find in the Maven docs where it shows how to run:

  1. A single test
  2. All tests in a single test class
  3. All tests in classes matching a particular
9条回答
  •  旧时难觅i
    2021-01-30 02:37

    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.

提交回复
热议问题