大家好,这里是小奏 ,觉得文章不错可以关注公众号小奏技术
背景
就在最近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 Jupiter
以java8
为最低版本
JUnit Jupiter
现在是长期活跃维护的项目。
上一个维护版本是2025年4月11号
此外JUnit团队计划今年晚点发布以Java 17
为最低版本的 JUnit 6.0
鉴于这些情况,Spring Framework
打算淘汰对 JUnit 4
的支持
打算在Spring Framework
7.0 中弃用它,在 7.1 或 7.2 中 "删除 "它
项目注意事项
随着Spring Framework
不再支持JUnit4
,我们最好也进行JUnit4
的迁移,不要再使用JUnit4
相关的API进行测试编写
测试尽量使用org.junit.jupiter
相关的API
不要使用Junit4
中org.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 Framework
对Junit4
的废弃,以及Junit4
不再活跃维护。
我们个人项目以后编写单测也不推荐再使用Junit4
。如果项目中还有使用Junit4
,推荐也随Spring Framework
一起废弃掉Junit4