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 中国語 Web サイトの他の関連記事を参照してください。