我正在爲基於spring啓動的應用程序編寫junits,而我的bean依賴於application-.properties中指定的一些配置參數。 在我的配置類我在哪裏產生豆類,捕捉應用程序上下文錯誤spring junit
@Configuration
public class AppConfig{
@Value("${MyProperty}")
private String myProperty;
@Bean
public myBean bean1() throws MyException{
if(myProperty.contentEquals("abc"){
throw MyException("Value abc not allowed for bean1");
}
}
在我的JUnit我要檢測這種情況下,如果在我的JUnit我設置配置文件並運行它出現了錯誤說「應用程序啓動失敗」,並沒有達到我之前的方法或測試方法。
我該如何處理這個問題,以便junit不會失敗,並且我也能夠檢測到myexception。 基本上我需要的是應用程序上下文創建失敗,但我的單元測試通過。
謝謝!
我明白物業標註的條件,謝謝您建議。 但是這打開了應用程序即使未創建bean也會啓動的另一個問題。我不應該讓這種情況發生。 從我的理解,只有通過在bean工廠方法中引發異常纔有可能。 這就是我目前在我的代碼中所做的事情。在我的單元測試中,我可以檢測到嗎? – Avis
在這種情況下,您將不得不直接在您的測試方法中啓動上下文以檢測異常 – dimitrisli
您可以提出建議嗎?我使用SpringRunner進行單元測試。 – Avis