Spring Boot 测试类注入Bean失败的原因

发布时间 2023-07-05 09:06:06作者: 百里浅暮

添加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对象会报空异常,如下图: