JUnit 5 中的異常斷言
在 JUnit 5 中,透過引入assertThrows( )。此方法提供了一種更簡潔、更方便的方法來驗證異常行為,特別是當同一測試中預期出現多個異常時。
以前,開發人員依靠 @Rule 註解來檢查異常,但這種方法有局限性當涉及多個異常時。另一方面,assertThrows() 允許靈活且可自訂的異常測試。
透過利用Java 8 lambda,assertThrows() 使開發人員能夠編寫簡潔且富有表現力的測試斷言:
import static org.junit.jupiter.api.Assertions.assertThrows; @Test void exceptionTesting() { MyException thrown = assertThrows( MyException.class, () -> myObject.doThing(), "Expected doThing() to throw, but it didn't" ); assertTrue(thrown.getMessage().contains("Stuff")); }
在此範例中,assertThrows() 用於檢查doThing () 方法是否在呼叫時拋出MyException。作為第二個參數傳遞的 lambda 表達式定義了預期引發異常的程式碼。第三個參數提供了在斷言失敗時顯示的可選訊息。
透過使用assertThrows(),開發人員可以簡化異常測試程式碼,在單一測試中輕鬆斷言多個異常,並提供清晰且資訊豐富的資訊。斷言失敗時的錯誤訊息。
以上是JUnit 5 的 `assertThrows()` 如何簡化異常斷言測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!