JUnit では、特定の例外がスローされるかどうかを複数の方法でテストできます。
@Test アノテーションは、expected 属性をサポートするようになりました。これにより、次のことが可能になります。予想される例外のタイプを指定します:
@Test(expected = IndexOutOfBoundsException.class) public void testIndexOutOfBoundsException() { ArrayList emptyList = new ArrayList(); Object o = emptyList.get(0); }
AssertJ や Google Truth などのサードパーティ アサーション ライブラリは、例外テスト用のより簡潔な構文を提供します:
// AssertJ assertThatThrownBy(() -> foo.doStuff()).isInstanceOf(IndexOutOfBoundsException.class); // Google Truth assertWithMessage("Expected IndexOutOfBoundsException").thatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> foo.doStuff());
JUnit 4.12 以前の場合、いくつかのオプションがあります:
参照これらのオプションの詳細については、JUnit Test-FAQ を参照してください。
以上がJUnit で例外処理を効果的にテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。