解決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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: