Maven 编译打包时如何忽略测试用例

"基本命令"

Posted by mrchang on September 15, 2017

跳过测试阶段

  1. mvn package -DskipTests

临时性跳过测试代码的编译

  1. mvn package -Dmaven.test.skip=true
  2. maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。

指定测试类

  1. 以Random开头,Test结尾的测试类
    • mvn test -Dtest=RandomGeneratorTest
    • mvn test -Dtest=Random*Test
  2. 用逗号分隔指定多个测试用例
    • mvn test -Dtest=ATest,BTest

指定即使没有任何测试用例也不要报错

  1. test参数必须匹配至少一个测试类,否则会报错并导致构建失败。此时可使用以下配置来指定即使没有任何测试用例也不要报错。
    • mvn test -Dtest -DfailIfNoTests = false

POM文件配置包含与排除测试用例

  1. 使用** / * Test.java来匹配所有以Tests结尾的Java类。两个星号*用来匹配任意路径,一个星号用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。

     <plugin>  
         <groupId>org.apahce.maven.plugins<groupId>  
         <artifactId>maven-surefire-plugin</artifactId>  
         <version>2.5</version>  
         <configuration>  
             <includes>  
                 <include>**/*Tests.java</include>  
             </includes>  
         </configuration>          
     </plugin>