跳过一个Maven测试不起作用

时间:2018-07-06 09:27:23

标签: java maven

我尝试用我的maven命令(文档:https://blog.jdriven.com/2017/10/run-one-or-exclude-one-test-with-maven/)跳过一项测试:

mvn -B clean install -T2C -pl sub-tests -Dtest=!com.xx.xx.test.xx.xx.canMakeCall*

但是我遇到了一些错误(看来它试图跳过所有测试?我不知道):

[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ sub-tests ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project sub-tests: No tests were executed!  (Set -DfailIfNoTests=false to ignore this error.) -> [Help 1]

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

根据 Maven Surefire Plugin - Running a Single Test

  

在单个测试类中运行一组方法

     

从Surefire 2.7.3开始,您也只能在   测试班。

     

注意:仅Junit 4.x和TestNG支持此功能。使用语法例如“ foo / MyTest.java”,“ /MyTest.java”,“ MyTest”代表“测试”   参数(请参见包含/排除)。**

     

您应使用以下语法:

mvn -Dtest=TestCircle#mytest test

所以我认为您的命令应该是:

mvn -B clean install -T2C -pl sub-tests -Dtest=!com.xx.xx.test.xx.xx#canMakeCall*

它将忽略从测试canMakeCall的{​​{1}}开始的所有测试方法。