我知道如何运行 Junit测试类:
mvn test -Dtest=classname
但是当我尝试运行单一单元测试方法时,如下所示:
mvn test -Dtest=classname#methodname
我总是得到错误:没有执行任何测试
参考文献:
http://maven.apache.org/plugins/maven-surefire-plugin/examples/single-test.html http://stackoverflow.com/questions/1873995/run-a-single-test-method-with-maven
请告知为什么我的测试方法没有被执行,我使用 maven 2 和 junit 4.7 。
答案 0 :(得分:7)
上述语法仅支持Maven Surefire版本2.7.3 +
确保您使用的是正确版本的插件。
答案 1 :(得分:2)
surefire 2.12存在问题。 这就是我将maven-surefire-plugin从2.12更改为2.11时发生的事情:
mvn test -Dtest = DesignRulesTest 结果: [错误]无法在项目pmd上执行目标org.apache.maven.plugins:maven-surefire-plugin: 2.12 :test(default-test):没有执行任何测试!强>
mvn test -Dtest = DesignRulesTest 结果: [INFO] --- maven-surefire-plugin: 2.11 :test(default-test)@ pmd --- ... 运行net.sourceforge.pmd.lang.java.rule.design.DesignRulesTest 测试运行:5,失败:0,错误:0,跳过:4,已过去时间:4.009秒
答案 2 :(得分:1)
从Maven项目目录中执行:
mvn surefire:test -Dtest=<name of test class>
注意使用surefire
参考:https://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html