我尝试用我的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]
我在做什么错了?
答案 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}}开始的所有测试方法。