解決SpringBoot 測試類無法自動註入@Autowired的問題
原來的測試類的註解:
@RunWith(SpringRunner.class) @SpringBootTest
一直沒法自動註入,後來在@SpringBootTest,
加入啟動類Application後就可以瞭
@RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class)
補充:spring boot項目單元測試時,@Autowired無法註入Service解決方式
首先確認:
測試類所在包名要和啟動類一致
測試類註解正確
@SpringBootTest(classes = {BiDataTaskApplication.class}) @RunWith(SpringRunner.class)
費瞭半天勁,才找到原因,idea自動創建的測試類 @Test註解,使用的是 import org.junit.jupiter.api.Test;
應改成:
import org.junit.Test;
idea為什麼這樣,還不確定,有知道的大佬麻煩回復下!
正確配置截圖:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- SpringBoot項目中@Test不出現可點擊運行的按鈕問題
- springBoot Junit測試用例出現@Autowired不生效的解決
- 單元測試 @mock與@SpringBootTest的使用
- springboot集成測試容器重啟問題的處理
- Springboot使用test無法啟動問題的解決