Springboot单元测试Junit的坑及解决方案
最近做springboot项目,写单元测试导入junit的时候,org.junit.jupiter.api.Test和org.junit.Test傻傻分不清,因为习惯了用junit4,所以导入的都是org.junit.Test,普通的测试是没有什么问题,但是依赖于springboot的测试都不能成功,都是@Autowired的注入不成功,空指针异常。而导入org.junit.jupiter.api.Test这个就能够测试成功。
查了一下:
org.junit.Test是junit4的,需要跟注解@RunWith(SpringRunner.class)一起使用才行。
org.junit.jupiter.api.Test是junit5的,单独使用即可。
原因是:
再查阅资料得知:
在Spring Boot 2.2.x以后使用import org.junit.jupiter.api.Test—— Junit5
在Spring Boot 2.2.x之前使用import org.junit.Test —— Junit4
好吧,是这个原因,源码上的解释呢?哪位大神清楚,给解释下...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!