使用 maven 运行单一测试方法
2022-08-31 04:11:01
我知道您可以使用以下命令在某个类中运行所有测试:
mvn test -Dtest=classname
但是我想运行一个单独的方法,并且-Dtest=classname.methodname似乎不起作用。
我知道您可以使用以下命令在某个类中运行所有测试:
mvn test -Dtest=classname
但是我想运行一个单独的方法,并且-Dtest=classname.methodname似乎不起作用。
要在 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
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 秒