背景:公司内部代码安全扫描,有些漏洞修复建议是升级Springboot版本到2.7.*。
原因:从Springboot 2.4.* 开始,Springboot默认使用junit5进行单元测试,junit-vantage-engine包从spring-boot-starter-test中移除,取而代之的是junit-jupiter-engine包。
而最初基于Springboot 2.1.8的单元测试代码时基于junit4的,Springboot版本升级后无法进行单元测试,因为此时项目中单元测试的平台是junit5,而单元测试类代码中的注解都是junit4的。
解决方案:
1,需要在pom文件中手动加入junit-vintage-engine这个包,该包可以提供在junit5平台上对junit4的支持。
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
2,另一个比较笨的办法,将所有单元测试类中的注解,全部换成Junit5的注解。Junit4所有注解在Junit5中都有其对应功能的注解。
5796

被折叠的 条评论
为什么被折叠?



