You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JUnit 5与Maven Surefire插件测试执行顺序的冲突及优先级疑问

JUnit 5 与 Maven Surefire 测试执行顺序冲突疑问

我清楚测试不应依赖执行顺序,但实际开发中还是遇到了问题:刚修复的一个Maven项目,测试在Jenkins上能通过,本地命令行执行却失败,现在查文档想理清原理。

JUnit 5 文档说明:

默认情况下,测试类和方法将采用一种确定性但刻意不明显的算法进行排序。
若要控制测试方法的执行顺序,需为测试类或接口添加@TestMethodOrder注解。

而 Maven Surefire 插件文档的描述则不同:

<runOrder>定义测试的执行顺序,支持值包括alphabetical、reversealphabetical、random、hourly(偶数小时按字母序,奇数小时按逆字母序)、failedfirst、balanced和filesystem,默认值为filesystem。

想请教:这两者的规则是如何共存的?我遇到的情况是执行顺序既非JUnit默认的确定性排序,也不符合文件系统顺序(已用ls -lU验证)。从Maven日志看,两台服务器的执行顺序恰好相反,且都和字母序、文件系统顺序不符。是否存在优先级更高的其他设置?

内容的提问来源于stack exchange,提问作者Pino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:44:58