Maven Surefire Exclude 无效问题排查日志

昨天有个需求,要在单元测试的时候单线程执行,并且只执行单元测试类特殊结尾的,那么根据以往经验,直接在maven里面配置exclude并且指定include即可。如下尝试

复制代码
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-surefire-plugin</artifactId>
	<version>3.0.0-M7</version>
	<configuration>
	   <includes>
	     <include>**/*PerfBenchMark.java</include>
	   </includes>
		<excludes>
			<exclude>**/Test*.java</exclude>
		</excludes>
	</configuration>
</plugin>

可是配置了以后,exclude未生效还是会执行带有Test的测试,之后又进行了如下猜测

  1. 是否因为testng框架需要引入dependency:testng依赖
  2. 表达式填写错误
  3. 求助chatgpt
  4. pom.xml中是否有其他profile
    以上通通都不行

看来只能debug surefire看看到底为什么了,记录一下步骤。

到需要调试的工程目录下执行

复制代码
mvnDebug test

然后在idea中的AbstractSurefireMojo.execute()方法里打个断点,启动远程调试

经过debug发现获取到的include和exclude和我配置的不一样

原来surefire的配置是获取的根目录中的pom.xml,修改对应的pom.xml后生效了

相关推荐
_李小白10 小时前
【OSG学习笔记】Day 41: ReadFileCallback 与 WriteFileCallback(自定义文件读取)
java·笔记·学习
每天吃饭的羊10 小时前
nest,java对比
java·开发语言
组合缺一10 小时前
SolonCode CLI v2026.4.11 发布(中文驱动的编码智能体)
java·ai编程·agents·solon-ai·claudecode·opencode·soloncode
大佐不会说日语~10 小时前
Spring AI Alibaba 的 Function Calling 使用 @Tool 调用中,无法获取用户ID踩坑记录
java·人工智能·spring boot·spring·alibaba·function
Java基基11 小时前
Maven 4要来了:15年后,Java构建工具迎来“彻底重构”
java·开发语言·重构
zhanghongbin0111 小时前
Remote Write:高效数据推送
java·人工智能
阿丰资源11 小时前
java项目-基于SpringBoot+MySQL+Vue的前后端分离宠物商店系统(附资料)
java·spring boot·mysql
G探险者11 小时前
LiteFlow 技术介绍
java·开发语言
程序媛徐师姐11 小时前
Java基于SSM的实验室管理微信小程序,附源码+文档说明
java·微信小程序·实验室管理·实验室管理微信小程序·java实验室管理微信小程序·java实验室管理小程序·实验室管理小程序
014-code20 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言