SpringBoot整合JUnit、Unable to find a @SpringBootConfiguration, you need to use

目录

一 SpringBoot正常整合JUnit

 二 Unable to find a @SpringBootConfiguration

解决办法1

 解决办法2

 总结

 分析


一 SpringBoot正常整合JUnit

新增模块--spring initializr--不需要勾选web(什么也不勾选)

SpringBoot整合junit不需要你做任何事情
1 注入你要测试的对象
2 执行你要测试的对象的对应方法
3 启动junit 测试

 总结

 二 Unable to find a @SpringBootConfiguration

报错如下:

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

发生原因:

测试类和SpringBoot引导类不在一个包


 

解决办法1

 在@SpringBootTest注解加属性(classes = 引导类.class)

 解决办法2

或者加注解@ContextConfiguration(classes = 引导类.class)

 总结

1 测试类如果和SpringBoot引导类在一样的目录层级,正常运行就可以
    比如:
        引导类在src--main--java的  com.qing下
        测试类可以在 test--java的 com.qing下/ com.qing再往下的目录下
2 测试类如果和SpringBoot引导类 不在一样的目录层级
    比如:
        引导类在src--main--java的  com.qing下
        测试类可以在 test--java的   com目录下
       
需要在@SpringBootTest注解加属性(classes = 引导类.class)
或者加注解@ContextConfiguration(classes = 引导类.class)

 分析

原理:
SpringBoot会在和测试类一样的包里扫描找@SpringBootConfiguration注解,如果测试类和引导类路径一样,就找到了引导类的@SpringBootApplication注解,这个注解里就带@SpringBootConfiguration注解;如果测试类和引导类路径不一样,就需要特地说明一下引导类是哪个类.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值