SpringBoot運(yùn)行Test時(shí)報(bào)錯(cuò)
運(yùn)行Test時(shí)的報(bào)錯(cuò)信息:SpringBoot Unable to find a @SpringBootConfiguration
錯(cuò)誤詳情
今天做SpringBoot配置郵件發(fā)送的時(shí)候,運(yùn)行測(cè)試類,報(bào)如下錯(cuò)誤:
說(shuō)找不到@SpringBootConfiguration注解,其實(shí)是有的,檢查了下啟動(dòng)類和被測(cè)試類的細(xì)節(jié),都沒(méi)問(wèn)題,查詢的很多CSDN答案都是互相抄來(lái)抄去。。。。比如測(cè)試類的包名和啟動(dòng)類的包名一致等解決辦法,試了都沒(méi)用。
解決辦法
原來(lái)還要在測(cè)試類里制定啟動(dòng)類。。。解決辦法很簡(jiǎn)單,把@SpringBootTest()注解改成@SpringBootTest(classes = App.class)就可以了。就像這樣:
注:我這里的啟動(dòng)類名為App,更改的時(shí)候根據(jù)自己?jiǎn)?dòng)類名來(lái)改
SpringBootTest單元測(cè)試報(bào)錯(cuò)
@RunWith(SpringRunner.class) @SpringBootTest(classes = { DataRulesApplication.class }) @EnableAutoConfiguration //@SpringBootTest(classes = { DataRulesApplication.class }) public class HuaboAddressTest extends AbstractTestNGSpringContextTests { @Autowired private HuaboAddressServiceImpl johnyService; @Test public void queryState() { //johnyService.resetAllDistricts(); long startTime = System.currentTimeMillis(); // johnyService.resetAllDistricts(); // johnyService.batchUpdate2(); // johnyService.batchupdate3(); //johnyService.resetAllDistricts(); johnyService.updateBatch(); long endTime = System.currentTimeMillis(); System.out.println("執(zhí)行時(shí)間:" + (endTime - startTime)); // long startTime = System.currentTimeMillis(); // johnyService.select1(); // long endTime = System.currentTimeMillis(); // System.err.println("執(zhí)行時(shí)間1:"+(endTime-startTime)); // startTime = System.currentTimeMillis(); // johnyService.select2(); // endTime = System.currentTimeMillis(); // System.err.println("執(zhí)行時(shí)間2:"+(endTime-startTime)); } @Test public void check() { } @Test public void register() { } @Test public void detail() { } @Test public void queryCategory() { } }
其實(shí)只需要在setting中設(shè)置運(yùn)行test的環(huán)境即可。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/x1825048925/article/details/103222867