JUnitで複数のアサーションを行う方法


JUnitでは、1つのテストケース内で複数のアサーションを実行することができます。これは、1つのメソッド内で複数のテストをまとめて実行する場合や、1つのテストケースで複数の条件を検証する場合に便利です。

以下に、複数のアサーションを行う方法の一般的なパターンをいくつか示します。

  1. assertAll メソッドを使用する方法: JUnit 5以降では、assertAll メソッドを使用して複数のアサーションをまとめて実行することができます。このメソッドは、すべてのアサーションが実行されるまでエラーをキャプチャし、最終的にすべてのエラーメッセージを表示します。以下は使用例です:
import static org.junit.jupiter.api.Assertions.*;
@Test
void multipleAssertions() {
    assertAll("numbers",
        () -> assertEquals(2, 1 + 1),
        () -> assertEquals(4, 2 * 2),
        () -> assertTrue(5 > 3)
    );
}
  1. 複数の assert 文を使用する方法: JUnit 4以前のバージョンでは、複数の assert 文を使用してアサーションを実行することが一般的でした。以下は使用例です:
import static org.junit.Assert.*;
@Test
void multipleAssertions() {
    assertEquals(2, 1 + 1);
    assertEquals(4, 2 * 2);
    assertTrue(5 > 3);
}

いずれの方法を選んでも、テストケース内で複数のアサーションを実行することができます。これにより、一つのテストケースで複数の条件を検証することができます。

以上が、JUnitで複数のアサーションを行う方法の例です。これらの方法を使用することで、効果的なユニットテストを作成し、ソフトウェアの品質を向上させることができます。