今天写完了一个radis模板类,最后放入测试类进行测试的时候发现测试类中RedisTemplate对象注入后总是返回null,经过网上的查询发现了解决方案。
错误展示:
首先我写的模板类是这样的:
很普通的radis创建模板
测试类代码如下:
但是就是会返回null,在网上找了各种方法最后找到了解决方案。
解决方案如下:
在测试类的@Test注解上可以选择不同的包进行导入,如下图:
当我们选择第二个包,即org.junit.jupiter.api.Test这个包,导入进去以后再次运行测试类,就会发现能够正常注入了,并且有返回结果,结果如图所示:
到这里就能解决问题了,具体原因的话我去找了一下,可能是版本原因,我的springboot版本为>2.7.3<,junit版本为>4.12<。网上找到是说springboot2.2版本前是用的引用的org.junit.Test这个包,但是2.2版本往后就是用的org.junit.jupiter.api.Test这个包,个人水平原因没能去源码细看,所以请有高手能够指点一下。