java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBootTest踩坑

SpringBootTest--踩坑错误的解决

作者:莫失莫忘hh

这篇文章主要介绍了SpringBootTest--踩坑错误的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBootTest 踩坑

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

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

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

@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即可,如下:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AdminApplication.class)

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

您可能感兴趣的文章:
阅读全文