Javaの単体テストで境界値を確認するには?条件分岐のテストケースを作る考え方|確認問題の回答例

Schoo Java入門 中級 第3回 単体テストによるビジネスロジック検証

このページは、Javaの単体テストで境界値を確認するには?条件分岐のテストケースを作る考え方の確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。

確認問題の回答例

仕様の分かれ目は、60800100 です。条件が切り替わる直前とちょうどの値、受け付けない値を考えます。

確認したいこと入力値期待する結果確認方法
0未満は例外-1例外assertThrows
0点はC0CassertEquals
60点未満はC59CassertEquals
60点以上はB60BassertEquals
80点未満はB79BassertEquals
80点以上はA80AassertEquals
100点はA100AassertEquals
100を超える値は例外101例外assertThrows

JUnitコード例

@Test
void testJudgeGradeReturnsBWhenScoreIs60() {
    ScoreService service = new ScoreService();

    assertEquals("B", service.judgeGrade(60));
}

@Test
void testJudgeGradeThrowsExceptionWhenScoreIs101() {
    ScoreService service = new ScoreService();

    assertThrows(
            IllegalArgumentException.class,
            () -> service.judgeGrade(101)
    );
}

境界値の問題では、代表的な値だけではなく、条件が切り替わる直前とちょうどの値を確認することが大切です。

元の記事に戻る

Javaの単体テストで境界値を確認するには?条件分岐のテストケースを作る考え方