我知道您可以使用以下方法在某个类中运行所有测试:
mvn test -Dtest=classname
但是我想运行一个单独的方法并且 -Dtest=classname.methodname 似乎不起作用。
原文由 BillMan 发布,翻译遵循 CC BY-SA 4.0 许可协议
surefire 2.12 存在问题。这就是我将 maven-surefire-plugin 从 2.12 更改为 2.11 时发生的情况:
mvn test -Dtest=DesignRulesTest
结果:
[错误] 无法执行目标 org.apache.maven.plugins:maven-surefire-plugin: 2.12 :test (default-test) on project pmd: 没有执行测试!
mvn test -Dtest=DesignRulesTest
结果:[INFO] — maven-surefire-plugin: 2.11 :test (default-test) @ pmd — … Running net.sourceforge.pmd.lang.java.rule.design.DesignRulesTest 测试运行:5 ,失败:0,错误:0,跳过:4,经过的时间:4.009 秒
原文由 Duccio Fabbri 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
要在 Maven 中运行单个测试方法,您需要提供如下命令:
其中
TestCircle
是测试类名称,xyz
是测试方法。通配符也可以;在方法名和类名中。
如果您在多模块项目中进行测试,请使用
-pl <module-name>
指定测试所在的模块。对于集成测试,使用
it.test=...
选项而不是test=...
: