使用 maven 运行单个测试方法

新手上路,请多包涵

我知道您可以使用以下方法在某个类中运行所有测试:

 mvn test -Dtest=classname

但是我想运行一个单独的方法并且 -Dtest=classname.methodname 似乎不起作用。

原文由 BillMan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

要在 Maven 中运行单个测试方法,您需要提供如下命令:

 mvn test -Dtest=TestCircle#xyz test

其中 TestCircle 是测试类名称, xyz 是测试方法。

通配符也可以;在方法名和类名中。

如果您在多模块项目中进行测试,请使用 -pl <module-name> 指定测试所在的模块。

对于集成测试,使用 it.test=... 选项而不是 test=...

 mvn -pl <module-name> -Dit.test=TestCircle#xyz integration-test

原文由 Mudit Srivastava 发布,翻译遵循 CC BY-SA 4.0 许可协议

surefire 2.12 存在问题。这就是我将 maven-surefire-plugin 从 2.12 更改为 2.11 时发生的情况:

  1. mvn test -Dtest=DesignRulesTest

结果:

[错误] 无法执行目标 org.apache.maven.plugins:maven-surefire-plugin: 2.12 :test (default-test) on project pmd: 没有执行测试!

  1. 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题