java.lang.IllegalStateException Unable to find a @SpringBootConfiguration代码报错
短信预约 -IT技能 免费直播动态提醒
一. 问题场景
使用idea基于springBoot的项目进行单元测试时,出现异常,如下所示:
Test ignored.java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
二. 报错原因
该测试类在运行时找不到启动类,所以报错
三. 解决方案
①检查项目中有没有写启动类,如果没写,赶紧补上
正确的启动类示例代码如下:
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;//声明它为基于springboot的应用程序的启动类@SpringBootApplicationpublic class springbootJpaApplication { public static void main(String[] args) { SpringApplication.run(springbootJpaApplication.class,args); }}
ps:启动类的类名随便写,但推荐见名知义的命名原则
②如果你写了启动类,但是你的测试类所在的包与启动类所在的包不在同一级根目录下
例如:在我的项目中启动类所在的包是com.fc,而测试类则直接写在项目/test/java下,没有包
解决措施:
1. 将测试类【要进行单元测试的类】置于和启动类一样的目录下【如com.fc】
2. 如果不想把测试类放到和启动类相同的包下,那就给测试类的注解加上@SpringBootTest(classes = {springbootJpaApplication.class})
代码示例如下:
@SpringBootTest(classes = {springbootJpaApplication.class})public class testJpa {}
ps:花括号中是你自己写的测试类的反射
以上两种解决方法选其一即可,效果等同。
排错改错成功!!!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341