SpringBoot的Junit测试启动报错:Unable to find a @SpringBootConfiguration

1、完整报错信息

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, 
	you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

2、问题排查

翻译前半句:不能找到@SpringBootConfiguration这个注解。我们知道,这个注解是SpringBoot启动类上@SpringBootApplication注解上的一个注解。根据SpringBoot的“约定优于配置”思想,我们没有指定它去哪找,它应该会在自己的路径下寻找,既然找不到,真相呼之欲出:默认查找路径不对。

看图说人话。
看图说人话

3、解决方案(两种思路)

  • 一、按SpringBoot的默认查找为准,我们把测试类的包路径改成和启动类一致
    将 com.test 改为 com.knowledge.contest 即可。
  • 二、我们自己指定让它去哪个类上找
    参考报错后半段信息:在@SpringBootTest注解指定classes属性值为启动类class。
package com.test;

import com.knowledge.contest.ManagerApplication;
import com.knowledge.contest.mapper.ContestConclusionMapper;
import com.knowledge.contest.pojo.TbContestConclusion;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * @Description 测试时间工具类
 * @Author DongPo
 * @Date 2020/10/3 14:18
 */
@SpringBootTest(classes = {ManagerApplication.class})
@RunWith(SpringRunner.class)
public class TimeTest {
	@Autowired
	private ContestConclusionMapper contestConclusionMapper;

	@Test
	public void testInsert(){
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值