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