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就行了。
这里的主配置类也就是`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