IDEA 中启用 @SpringBootTest 测试失败的问题
- 1. 场景还原
- 2. 分析原因
- 3. 解决方法
1. 场景还原
在 springboot 的工程项目中通过 @SpringBootTest 注释启用单元测试,发现整个 springboot 的运行环境并没有启动,包括数据源的创建和服务类的自动注入等,都没有初始化。
2. 分析原因
导致在 IDEA 里通过 @SpringBootTest 启用单元测试不成功。一个不太容易发现的的原因是导入的单元测试开发包错误导致的。如果不小心添加 @Test 注释时,引入的包是 ,这导致单元测试使用的是 junit 测试库,所以springboot环境没有启动。
3. 解决方法
在使用 @Test 注释时,引入使用 类。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
// import ;
import org.junit.jupiter.api.Test;
@SpringBootTest
public class UserTest {
@Autowired
private UserService userService;
@Test
public void getAllTest() {
System.out.println(this.userService.getAllTest())
}
}