今天工作的Spring Boot專案將原來的JUnit 4升至JUnit 5時,原本測試程式中使用@MockBean
注入的mock物件變成無法注入,執行時為null導致NullPointerException
錯誤。
原因為改成JUnit 5後,測試類原本的@RunWith(SpringRunner.class)
改成@ExtendWith(SpringExtension.class)
,但@Test
仍使用JUnit 4舊的org.junit.Test
,因此導致無法注入@MockBean
的問題;解決辦法就是@Test
應該要改成JUnit 5的org.junit.jupiter.api.Test
。
沒有留言:
張貼留言