1. 程式人生 > 實用技巧 >springboot @Test單元測試獲取注入的bean物件

springboot @Test單元測試獲取注入的bean物件

1.情景展示

  在springboot專案中,寫了測試方法

  執行該方法,通過註解注入的物件,卻獲取不到

2.原因分析

  起初,我以為拿不到這個物件,是因為該類沒有注入到spring容器中,所以,拿不到。(普通情況下,原因就是如此,但Junit不是因為這)。

  將該類注入到spring中,同樣無效。

3.解決方案

  我們需要在類上新增以下程式碼:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {專案啟動類.class})

  這次,就能拿到物件啦。

  我們會發現:

  通過這種方式,在執行@Test之前,會啟動這個專案,然後物件才會被注入到單元測試所在類中。

  並且,這個專案的生命週期為@Test的執行時長;

  另外,這個專案的執行和專案執行本身沒有衝突,互不影響(可以理解為兩個不同的程序)。

  這可能與它們的執行器有關

寫在最後

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

相關推薦: