maven 测试test命令

maven测试为 default 生命周期中的test阶段。
test阶段与 maven-surefire-plugin 的test目标相绑定了, 这是一个内置的绑定。
Maven通过插件来执行 JUnit 和 TestNG 的测试用例。

maven-surefire-plugin 的test目标会自动执行测试源码路径下符合命名模式的测试类。
默认测试源代码路径: src/test/java/
测试类命名模式:
**/Test*.java
**/*Test.java
**/*TestCase.java
按上述模式命名的类, 使用 mvn test 命令就能自动运行他们。

执行测试

maven-surefire-plugin 使用 test 参数指定测试用例, 为测试用例的类名
只执行 RandomTest 这个测试类:  mvn test -Dtest=RandomTest  
只运行 RandomTest 类的 myTest 方法:  mvn test -Dtest=RandomTest#myTest  可以指定多个类,逗号分隔 : mvn test -Dtest=RandomTest,Random2Test

也可以用 * 匹配多个
mvn test -Dtest=Random*Test
*和 逗号可以结合使用。

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

 

跳过测试

有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true .

这两个参数的主要区别是:

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

mvn clean -U install -Dmaven.test.skip=true
mvn clean -U package -Dmaven.test.skip=true
mvn clean -U package -Dtest -DfailIfNoTests=false
mvn clean -U install -Dtest -DfailIfNoTests=false


-Dmaven.test.failure.ignore=true 测试报错忽略

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值