SpringBoot测试类注入Bean失败的原因

添加test依赖:

<!-- starter-test:junit + spring-test + mockito -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

版本问题

针对SpringBoot的测试类,2.2版本之前和之后是不一样的。 在2.2版本之前需要添加注解 @SpringBootTest 和 @RunWith(SpringRunner.class) ,在Spring容器环境下进行测试,因为 @Test 导包的是org.junit.Test。 在2.2版本之后只需要添加注解 @SpringBootTest,其中@Test导包为org.junit.jupiter.api.Test。

包路径不一致

注意测试类的包名和启动类的包名一定要一致,否则扫描不到bean对象会报空异常,如下图:

总结:在使用@SpringBootTest时,最好指定启动类,如:

@SpringBootTest(classes = {MultiDbMain.class})

 

posted @ 2023-07-05 09:00  残城碎梦  阅读(2186)  评论(0编辑  收藏  举报