`

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

 
阅读更多

如果想跳过测试阶段,可用:
mvn package -DskipTests

想临时性跳过测试代码的编译,可用:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。

指定测试类
mvn test -Dtest=RandomGeneratorTest

以Random开头,Test结尾的测试类
mvn test -Dtest=Random*Test

用逗号分隔指定多个测试用例
mvn test -Dtest=ATest,BTest

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


POM文件配置包含与排除测试用例,使用** / * 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>

分享到:
评论
1 楼 luyanfei78 2012-07-04  
"maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。"
这个参数控制的是test插件的行为,不可能控制compiler插件。根据文档说明,maven.test.skip即不会编译测试类,也不会去执行。而maven.test.skipTests则是会编译测试类的,只不过不执行而已,因此,你的第一段的讲法也是错的。

相关推荐

Global site tag (gtag.js) - Google Analytics