maven-surefire插件未运行部分JUnit5测试Profile问题求助
排查解决步骤
1. 核对测试标签匹配性
你pom中listing分组对应的标签值是listingTag,请检查所有listing相关测试的注解是否完全匹配:
- Junit5场景:测试类/方法上必须加
@Tag("listingTag"),大小写、拼写完全一致,不能出现拼写错误、大小写偏差 - Junit4场景:需要使用
@Category注解,且同步确认surefire配置适配Junit4分组规则
你当前使用的maven-surefire-plugin 2.22.0原生支持Junit5,需确认pom已引入Junit5测试引擎依赖:
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>适配你的Junit5版本</version> <scope>test</scope> </dependency>
2. 核对测试类命名规则
surefire插件默认只会扫描符合以下命名规则的测试类:
- 前缀为
Test的类 - 后缀为
Test、Tests、TestCase的类
如果你的listing相关测试类不符合上述命名规则,会被插件直接判定为非测试类跳过,可修改类名匹配规则,或者在surefire的<configuration>节点中增加<includes>配置指定要扫描的测试类路径。
3. 排查配置覆盖/跳过规则
- 检查pom的父级配置、全局配置中是否存在
<skipTests>true</skipTests>、<excludes>排除了listing相关测试路径的配置 - 执行测试命令时增加
-X参数开启debug日志,搜索listing相关测试类的日志记录,可以直接看到插件是没有匹配到标签,还是主动排除了对应测试类 - 执行命令时增加
-P listingGROUP help:active-profiles,确认listingGROUP profile确实被正常激活,groups属性没有被其他配置覆盖
内容的提问来源于stack exchange,提问作者user2451016
相关产品推荐
相关产品推荐

