解决SpringBoot运行Test时报错:SpringBoot Unable to find

目录
  • SpringBoot运行Test时报错
    • 错误详情
    • 解决办法
  • SpringBootTest单元测试报错

SpringBoot运行Test时报错

运行Test时的报错信息:SpringBoot Unable to find a @SpringBootConfiguration

错误详情

今天做SpringBoot配置邮件发送的时候,运行测试类,报如下错误:

说找不到@SpringBootConfiguration注解,其实是有的,检查了下启动类和被测试类的细节,都没问题,查询的很多CSDN答案都是互相抄来抄去。。。。比如测试类的包名和启动类的包名一致等解决办法,试了都没用。

解决办法

原来还要在测试类里制定启动类。。。解决办法很简单,把@SpringBootTest()注解改成@SpringBootTest(classes = App.class)就可以了。就像这样:

注:我这里的启动类名为App,更改的时候根据自己启动类名来改

SpringBootTest单元测试报错

@RunWith(SpringRunner.class)
@SpringBootTest(classes = { DataRulesApplication.class })
@EnableAutoConfiguration
//@SpringBootTest(classes = { DataRulesApplication.class })
public class HuaboAddressTest extends AbstractTestNGSpringContextTests {
    @Autowired
    private HuaboAddressServiceImpl johnyService;

    @Test
    public void queryState() {
        //johnyService.resetAllDistricts();
        long startTime = System.currentTimeMillis();
        //    johnyService.resetAllDistricts();
        //  johnyService.batchUpdate2();
        //  johnyService.batchupdate3();
        //johnyService.resetAllDistricts();
        johnyService.updateBatch();
        long endTime = System.currentTimeMillis();
        System.out.println("执行时间:" + (endTime - startTime));

//        long startTime = System.currentTimeMillis();
//        johnyService.select1();
//        long endTime = System.currentTimeMillis();
//        System.err.println("执行时间1:"+(endTime-startTime));
//        startTime = System.currentTimeMillis();
//        johnyService.select2();
//        endTime = System.currentTimeMillis();
//        System.err.println("执行时间2:"+(endTime-startTime));
    }

    @Test
    public void check() {
    }

    @Test
    public void register() {
    }

    @Test
    public void detail() {
    }

    @Test
    public void queryCategory() {
    }
}

其实只需要在setting中设置运行test的环境即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2021-10-13

Springboot使用test无法启动问题的解决

Springboot使用test无法启动 test无法启动,遇到 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use报错信息 测试文件和启动文件是否才同一层目录下 SpringBootTest--踩坑错误 Spring boot降低了我们对spring开发的难度 采用了大量在的自动配置,我们只需要进行简单的基本配置,就能快速开发一个spring应用. 同样sprin

SpringBoot+TestNG单元测试的实现

目录 背景 接口测试用例,针对入参进行设计: 言归正传! 背景 由于开发任务进度紧张,接口及基础数据提供不全,即使设计全面的接口测试用例也无法全面有效的进行覆盖测试:且又因为单接口测试用例设计的方向是入参和出参,从入参着手就是参数必填校验.参数类型及参数边界值,再有入参的组合入参,例如一个接口5个参数,3个必填,2个非必填,数据类型有string.int等,还有字符长度限制条件,那么这样的单接口测试用例数设计起来那就有,嗯......数不过来,如果入参个数及参数类型变得多起来,那么这个数量就不可

SpringBootTest--踩坑错误的解决

目录 SpringBootTest 踩坑 SpringBootTest的一个小坑注意点 1.我当时运行SpringBoot测试类的时候踩这个坑 2.解决方法 SpringBootTest 踩坑 Spring boot降低了我们对spring开发的难度 采用了大量在的自动配置,我们只需要进行简单的基本配置,就能快速开发一个spring应用.同样spring对于单元测试也有场景启动器----spring-boot-starter-test,可以让我们在,spring环境下进行测试. 昨天测试的时候,

解决@SpringBootTest 单元测试遇到的坑

目录 @SpringBootTest单元测试的坑 1.环境 2.遇到的问题 3.解决方式 Test类运行单元测试失效 Test测试类无法执行完全问题 @SpringBootTest单元测试的坑 1.环境 spring boot 版本:2.4.3 2.遇到的问题 (1)@Before.@After 失效 (2)org.junit.runners.model.InvalidTestClassError: 3.解决方式 注意 import 的 junit 包的配套问题 #junit5 配套 impor

单元测试 @mock与@SpringBootTest的使用

目录 一.单元测试工具mock使用 1.引入依赖包 2.mock测试类 二.springboot使用@SpringBootTest单元测试 1.引入依赖包 2.测试类 三.mock和@springBootTest区别 1.mock进行单元测试不依赖spring的bean定义文件 2.@springBootTest需要启动服务 单元测试--SpringbootTest和MockMvc SpringbootTest MockMvc类的使用和模拟Http请求 相关API: 在写单元测试的过程中我们会发

SpringBootTest单元测试报错的解决方案

目录 SpringBootTest单元测试报错 单元测试 @mock和@SpringBootTest使用 一.单元测试工具mock使用 二.springboot使用@SpringBootTest单元测试 三.mock和@springBootTest区别 SpringBootTest单元测试报错 @RunWith(SpringRunner.class) @SpringBootTest(classes = { DataRulesApplication.class }) @EnableAutoConf

SpringBoot集成MybatisPlus报错的解决方案

这篇文章主要介绍了SpringBoot集成MybatisPlus报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 启动的时候总是报如下错误: java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class 解决方案 需要一个mybatis-spring-boot-starter的包,在pom文件加上之后,完

Django-migrate报错问题解决方案

python3 manage.py makemigrations # 生成数据库迁移文件 python3 manage.py migrate # 迁移数据库 简简单单两条命令就完成了django的数据库迁移 但是今天一天的时间都耽误在这了,一点都不夸张的那种,,早上去公司讨论需求之后,研究了一下需要更改一下数据库,在执行makemigrations的时候OK没有问题,但是migrate就报错了 1.报错: XX表已经存在,django.db.utils.OperationalError: (10

django model去掉unique_together报错的解决方案

事情是这样的,我有一个存储考试的表 class Exam(models.Model): category = cached_fields.ForeignKeyField(Category) name = models.CharField(max_length=128) date = models.DateField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(au

gem install redis报错的解决方案

在使用ruby脚本安装Redis集群时,需要先安装Ruby语言环境和redis插件,但是安装redis插件时遇到以下报错,下面记录一下解决过程. 因为执行Ruby脚本需要Ruby语言环境,所以首先安装Ruby语言环境和Ruby的包管理器Gems. 然后使用gem安装Redis和Ruby的接口. RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具. RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem

CentOS版本问题安装Docker报错的解决方案

1. 版本信息 # cat /etc/system-release CentOS Linux release 7.2.1511 (Core) # uname -a Linux k8s-daniel-3 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 2. Docker的安装和错误 直接使用yum -y install docker进行安装, 然后无法启动.

Apache跨域资源访问报错问题解决方案

很多时候,大中型网站为了静态资源分布式部署,加快访问速度,减轻主站压力,会把静态资源(例如字体文件.图片等)放在独立服务器或者CDN上,并且使用独立的资源域名(例如res.test.com) 但是在实际部署中,会发现浏览器无法载入这些不同域名的资源,firefox控制台会报错: <span role="presentation" class="objectBox objectBox-errorMessage "><span class="

Jmeter接口登录获取参数token报错问题解决方案

Jmeter接口登录时获取到的参数token一直在变的问题,导致运行时总是报错 解决方法如下: 1.新建一个GET的HTTP请求 2.添加正则表达式提取器 记得name="_token" value="(.+?) 中间有一个空格,"_token"和value中间的空格(之前在这边耗费了很多时间) 3.新建一个POST的HTTP请求用于登录,_token值写为${token} 4.新建一个Debug Sampler用于查看获取到的token 值 5.运行,察

Eclipse导入项目报错问题解决方案

使用eclipse导入一些项目是会出现项目前有叉号的问题 总结一下解决方法: 1.修改自己的Build Path,右键项目名: 在Java build path界面将sever及jre将原有的Tomcat及jre remove之后替换成自己版本: 2.替换后如果继续报错 找到项目根目录,修改.setting目录下的org.eclipse.wst.common.project.facet.core.xml文件 将里面的版本号修改成自己的即可 3.在之前的项目中完成上面两步已经可以解决项目名报错的问

Python3.5以上版本lxml导入etree报错的解决方案

在python中安装了lxml-4.2.1,在使用时发现导入etree时IDE中报错Unresolved reference 其实发现,不影响使用,可以正常运行,对于我这种要刨根问底的人不搞明白怎么能罢休了,要保证代码不红 就研究了下源码,通过源码中可以发现,html中继承了etree 看下图这里也是为啥前面出红但还是能顺利执行了 那么我们使用的时候就得变换下了:如下使用, 哎谁让etree是二进制文件了,希望下一个版本会有好的改善,通过github看源码,发现是cpython写的编译成的二进制

Java pom.xml parent引用报错问题解决方案

问题如下 本质就是jar包引用不到,这个时候就要需要去windows-preferences-Maven-user settings中查看jar包存放在本地的那个仓库之中 我存放的是D:\tools\study_tools\maven\apache-maven-3.6.3\repository 关闭eclipse,进入对应的maven 本地仓库,也就是D:\tools\study_tools\maven\apache-maven-3.6.3\repository,将所有文件删除干净,再重新打开e