一. 問題場景
使用idea基于springBoot的項目進行單元測試時,出現(xiàn)異常,如下所示:
Test ignored.
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
二. 報錯原因
該測試類在運行時找不到啟動類,所以報錯
三. 解決方案
①檢查項目中有沒有寫啟動類,如果沒寫,趕緊補上
正確的啟動類示例代碼如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//聲明它為基于springboot的應(yīng)用程序的啟動類
@SpringBootApplication
public class springbootJpaApplication {
public static void main(String[] args) {
SpringApplication.run(springbootJpaApplication.class,args);
}
}
ps:啟動類的類名隨便寫,但推薦見名知義的命名原則
②如果你寫了啟動類,但是你的測試類所在的包與啟動類所在的包不在同一級根目錄下
例如:在我的項目中啟動類所在的包是com.fc,而測試類則直接寫在項目/test/java下,沒有包
解決措施:
1. 將測試類【要進行單元測試的類】置于和啟動類一樣的目錄下【如com.fc】
2. 如果不想把測試類放到和啟動類相同的包下,那就給測試類的注解加上@SpringBootTest(classes = {springbootJpaApplication.class})
代碼示例如下:
@SpringBootTest(classes = {springbootJpaApplication.class})
public class testJpa {
}
ps:花括號中是你自己寫的測試類的反射
以上兩種解決方法選其一即可,效果等同。
文章來源:http://www.zghlxwxcb.cn/news/detail-581858.html
排錯改錯成功?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-581858.html
到了這里,關(guān)于java.lang.IllegalStateException Unable to find a @SpringBootConfiguration代碼報錯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!