SpringBootTest
错误如下:
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
之前只会使用,没碰到过什么问题,所以也没去研究过,为了解决疑问,通过查阅资料,分享一下我的总结.
上面的的报错的意思是:Spring Boot在当前的测试上下文中未能找到一个有效的@SpringBootConfiguration(即主配置类,通常就是标注了@SpringBootApplication的启动类)。
出现这个报错信息是因为:测试类的包路径没有放置在主启动类的包下或其子包内,导致Spring Boot的自动配置扫描未包含主启动类。
解决方法:
- 调整测试类的包路径,让测试类的包路径与主启动类的包路径一致。
- 又或者在@SpringBootTest(classes=...)在报错中提示的那样,这样写@SpringBootTest(classes=主启动类包路径)也可以。
俗话说得好,实践是检验真理的唯一标准。
但是一般在开发中我们常用第一种方式,也是就是将测试类的包路径与主启动类的包路径一致。
此文到此结束,欢迎各位大佬补充指正。