springboot @Test單元測試獲取注入的bean對象


1.情景展示

  在springboot項目中,寫了測試方法

  運行該方法,通過注解注入的對象,卻獲取不到

 

2.原因分析

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

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

3.解決方案

  我們需要在類上添加以下代碼:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {項目啟動類.class})

  這次,就能拿到對象啦。 

  我們會發現:

  通過這種方式,在運行@Test之前,會啟動這個項目,然后對象才會被注入到單元測試所在類中。

  並且,這個項目的生命周期為@Test的運行時長;

  另外,這個項目的運行和本身項目的運行沒有沖突,可以共同啟動,互不影響(可以理解為兩個不同的進程)。

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

 

寫在最后

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

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM