Spring7将正式弃用Junit 4,我们也是时候迁移到Junit5了

大家好,这里是小奏 ,觉得文章不错可以关注公众号小奏技术

背景

就在最近Spring Framework 官方宣布准备废弃Junit4

原因

Junit4已经不再活跃维护,上一个维护版本还是2021年2月的JUnit 4.13.2版本

并且Junit4最低支持jdk版本为1.5

早在2017年Spring Framework 5.0 官方就引入了对JUnit Jupiter (JUnit 5) 的支持

JUnit Jupiter 最初于 2017 年 9 月与 JUnit 5.0 一起发布

JUnit Jupiterjava8为最低版本

JUnit Jupiter现在是长期活跃维护的项目。

上一个维护版本是2025年4月11号

此外JUnit团队计划今年晚点发布以Java 17为最低版本的 JUnit 6.0

github.com/junit-team/...

鉴于这些情况,Spring Framework 打算淘汰对 JUnit 4的支持

打算在Spring Framework 7.0 中弃用它,在 7.1 或 7.2 中 "删除 "它

项目注意事项

随着Spring Framework不再支持JUnit4,我们最好也进行JUnit4的迁移,不要再使用JUnit4相关的API进行测试编写

测试尽量使用org.junit.jupiter相关的API

不要使用Junit4org.junit相关的API

个人项目中的单测迁移主要是一些断言的迁移比如早期Junit4使用的是

java 复制代码
        Assert.assertEquals("numbers " + 1 + " and " + 2 + " are not equal", 1, 2);

Junit5可能就变成了Assertions

java 复制代码
        Assertions.assertEquals(1, 2, () -> "numbers " + 1 + " and " + 2 + " are not equal");

想要从Junit4迁移到Junit 5的详细文档可以参考Migrating From JUnit 4 to JUnit 5: A Definitive Guide: www.arhohuttunen.com/junit-5-mig...

总结

随着Spring FrameworkJunit4的废弃,以及Junit4不再活跃维护。

我们个人项目以后编写单测也不推荐再使用Junit4。如果项目中还有使用Junit4,推荐也随Spring Framework一起废弃掉Junit4

参考

相关推荐
阿丰资源43 分钟前
基于Spring Boot的电影城管理系统(直接运行)
java·spring boot·后端
IT_陈寒1 小时前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
消失的旧时光-19432 小时前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解
追风筝的人er2 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
金銀銅鐵3 小时前
[git] 如何丢弃对一个文件的改动?
git·后端
橘子海全栈攻城狮4 小时前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
smallyoung4 小时前
具有反思能力的 Agentic RAG 实战:用 LangChain4j 实现 CRAG 纠错检索
人工智能·后端
EthanYuan4 小时前
💡RAG实践:从云知识库迁移到PostgreSQL ,并使用PGVector实现向量存储
后端
直奔標竿4 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
等风来_shy5 小时前
如何写好一个 Skill
后端