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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341