在JUnit 測試中斷言異常
傳統上,JUnit 中的異常測試涉及詳細的try-catch 區塊,如所提供的代碼中所示。但是,存在多種替代方案可以簡化此過程。
JUnit 5 和4.13
自JUnit 4.13 起,可以使用@Test(expected = IndexOutOfBoundsException.class) 註釋期間在執行特定註釋的方法斷言期間在執行特定註釋的方法中拋出異常。例如:
@Test(expected = IndexOutOfBoundsException.class) public void testIndexOutOfBoundsException() { ArrayList emptyList = new ArrayList(); Object o = emptyList.get(0); }
AssertJ 和Google Truth
AssertJ 和Google Truth 是流行的斷言庫,它們提供更具可讀性和表現力的斷言,包括用於測試異常的斷言。例如,使用 AssertJ:
import static org.assertj.core.api.Assertions.assertThatThrownBy; @Test public void testIndexOfBoundsException() { ArrayList emptyList = new ArrayList(); assertThatThrownBy(() -> emptyList.get(0)).isInstanceOf(IndexOutOfBoundsException.class); }
以上是如何在 JUnit 測試中有效斷言異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!