java Maven surefire插件在许多测试中不运行单个测试
我有一个maven项目(multimodule,JDK11),其中有很多模块和测试
我突然注意到,我的一个测试没有作为surefire插件的一部分调用。
同一模块中的其他测试确实可以成功调用。
我能够通过Intellij成功运行此测试。测试未被禁用或忽略。它包含一组@Test方法。此外,我可以使用mvn test -Dtest=...
参数专门运行它
测试类将被成功编译并显示在目标/测试类中。
(我已经用-X
运行了,在那里找不到相关的附加数据)
我正在使用surefire插件2.22.1;junit vintage引擎:5.2.0;junitplatformrunner:1.2.0;弹簧靴2.5.3(带BOM);我的测试是基于spring的,并使用@ExtendWith(SpringExtension.class)
调用
(我确实有其他基于spring的测试,它们按预期调用)
在此之后,我还尝试使用2.22.2。这并没有解决问题
在这个question之后,我已经验证了,事实上,测试类中所有未调用的测试都以“test”字作为前缀
编辑: 这个问题发生在属于某个模块的测试中,该模块是我公司一个较大项目的一部分,该项目在POM继承链中继承了各种默认值。不幸的是,我不能将我的POM从中分离出来并呈现出来。 我试图在一个新的独立项目中重现这个问题,但没有成功(也就是说,所有测试都按预期调用)
我错过了什么?surefire插件是否有一个隐藏的开关,可以显示引擎盖下发生了什么,surefire将要执行的测试列表拉到哪里
# 1 楼答案
surefire插件(默认情况下)将仅运行具有以下名称语法的测试
更多详细信息请参见here
# 2 楼答案
问题解决了! 以下是@Kathrin Geilmann的评论:
我的文件名以。。。测试员(!@#$$%^)
谢谢