返回顶部
首页 > 资讯 > 后端开发 > JAVA >java.lang.IllegalStateException Unable to find a @SpringBootConfiguration代码报错
  • 212
分享到

java.lang.IllegalStateException Unable to find a @SpringBootConfiguration代码报错

java开发语言bug 2023-08-16 14:08:29 212人浏览 安东尼
摘要

文章目录 一. 问题场景二. 报错原因三. 解决方案 一. 问题场景 使用idea基于SpringBoot的项目进行单元测试时,出现异常,如下所示: Test ignored.java.lang.IllegalStateE


在这里插入图片描述


一. 问题场景

使用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:花括号中是你自己写的测试类的反射

以上两种解决方法选其一即可,效果等同。

在这里插入图片描述

排错改错成功!!!

来源地址:https://blog.csdn.net/siaok/article/details/131421575

--结束END--

本文标题: java.lang.IllegalStateException Unable to find a @SpringBootConfiguration代码报错

本文链接: https://lsjlt.com/news/371445.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作