【发布时间】:2020-02-06 06:57:53
【问题描述】:
我有一个参数化的 JUnit 5 测试,例如
@EnumSource(Mode.class)
@ParameterizedTest void shouldRunWithMode(Mode mode) {
...
我想排除在 Maven 中运行的枚举案例之一,如 here 所述:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<test>!testpackage.SomeTest#shouldRunWithMode[3 three]</test>
</configuration>
</plugin>
同样的事情没有! 意味着包含,即只执行这个测试。
我尝试了排除表达式和方括号,但我没有找到使它起作用的组合。
一个演示项目是on GitHub。
【问题讨论】:
-
首先,我建议升级到最新版本的 maven-surefire-pugin,因为 JUnit Jupiter 平台已经有所改进……因为您引用的是 2.22.2 版本,但文档是 3.0。 0-M4 ...
-
感谢@khmarbaise 的提示。这是一个里程碑式的版本,但值得一试......但它没有帮助:-/
-
检查语法因为你的例子给出了包
testpackage而不是pkg/..此外我会检查使用SomeTest.class#shouldRunWithMode... -
我只有
testpackage,没有pkg。添加.class并没有帮助。 -
您使用的是点而不是
/,请参阅文档......
标签: maven junit5 maven-surefire-plugin parameterized-unit-test parameterized-tests