使用 maven 运行单一测试方法

2022-08-31 04:11:01

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

mvn test -Dtest=classname

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


答案 1

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

mvn test -Dtest=TestCircle#xyz test

其中 是测试类名,并且是测试方法。TestCirclexyz

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

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

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

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

答案 2

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

  1. mvn test -Dtest=DesignRulesTest

    结果:
    [错误] 未能在项目 pmd 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) : 未执行任何测试!

  2. 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 秒


推荐