1.情景展示
在springboot項目中,寫了測試方法

運行該方法,通過注解注入的對象,卻獲取不到
2.原因分析
起初,我以為拿不到這個對象,是因為該類沒有注入到spring容器中,所以,拿不到。(普通情況下,原因就是如此,但Junit不是因為這)。

將該類注入到spring中,同樣無效。
3.解決方案
我們需要在類上添加以下代碼:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {項目啟動類.class})

這次,就能拿到對象啦。

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

並且,這個項目的生命周期為@Test的運行時長;
另外,這個項目的運行和本身項目的運行沒有沖突,可以共同啟動,互不影響(可以理解為兩個不同的進程)。
這可能與它們的執行器有關

