我经常在测试中使用@Tag
注释,因为从终端运行完全标记的测试很容易。
例如:
@Tag("api_t1")
@Test
public void api_Test() {
someTest_Here();
然后我可以通过命令从终端运行这些测试:
mvn test -Dtag=api_t1
但我已经开始在控制台中看到警告:
| WARNING: |
| The junit-platform-surefire-provider has been deprecated and is scheduled to |
| be removed in JUnit Platform 1.4. Please use the built-in support in Maven |
| Surefire >= 2.22.0 instead. |
| » https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven |
好的,我决定按照这个手册,并开始更改我的pom.xml:
将版本从1.3.0更改为1.4.0
org.unit.platformjunit平台surefire提供商1.3.0
结果:通过标记运行测试不起作用,将从项目运行所有测试
mvn test -Dtag=api_t1
- 删除了此依赖项
结果:通过标记运行测试不起作用,将从项目运行所有测试
mvn test -Dtag=api_t1
所以,我的问题是,是否有可能在控制台中看不到这个警告消息,或者我不应该在pom.xml中触摸我的插件版本?或者还有另一个解决方案,我无法从Junit 5用户指南中获得
关于此处的示例https://github.com/junit-team/junit5-samples/tree/master/junit5-migration-maven我找到了解决方案:
应使用
<groups>${tag}</groups>
代替
<includeTags>${tag}</includeTags>