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

好吧,是这个原因,源码上的解释呢?哪位大神清楚,给解释下...

posted @ 2022-11-15 21:36  吾爱春秋  阅读(521)  评论(0)    收藏  举报