SpringBootTest--踩坑错误的解决

时间:2022-11-07 08:19:33

SpringBootTest 踩坑

Spring boot降低了我们对spring开发的难度

采用了大量在的自动配置,我们只需要进行简单的基本配置,就能快速开发一个spring应用。同样spring对于单元测试也有场景启动器----spring-boot-starter-test,可以让我们在,spring环境下进行测试。

昨天测试的时候,容器都无法启动,检查之后发现了原因,也是因为自己粗心大意。

?
1
2
3
4
5
6
7
8
9
10
@RunWith(value = SpringRunner.class)
//@SpringBootTest(classes = SearchApplication9007Test.class)   //错误写法 ,这个class应该填写的是你的主启动类,
                  //而不是你的测试类。以为之前用的稍微高点的版本,可以省略这个括
                  //号内的配置。但是这个版本需要配置
                  
@SpringBootTest(classes = SearchApplication9007.class)     //正确写法 ,应该填入主配置类
public class SearchApplication9007Test{
    @Autowired
    private ElasticsearchTemplate elasticsearchTemplate;
    /**

SpringBootTest的一个小坑注意点

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

两种处理方法

1、我当时运行SpringBoot测试类的时候踩这个坑

当时的解决办法就是,原本的包名为test现在改为panfeng就行了。

SpringBootTest--踩坑错误的解决

这里的主配置类也就是`PanfengUploadApplication`所在包是 java 下的 `panfeng`

所以测试类的`FastDFSTest`也要在 java 下的 `panfeng`包

2、解决方法

那是因为@SpringBootTest中缺少classes属性配置,加上启动类的class即可,如下:

?
1
2
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AdminApplication.class)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_43732955/article/details/96690827