Javaでテストケースを作るには?正常系・境界値・異常系をJUnitで確認する方法|確認問題の回答例

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

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

確認問題の回答例

種類
入力値
期待する結果
確認方法
正常系
3000
BRONZE
assertEquals
境界値
4999
BRONZE
assertEquals
境界値
5000
SILVER
assertEquals
境界値
9999
SILVER
assertEquals
境界値
10000
GOLD
assertEquals
正常系
15000
GOLD
assertEquals
異常系
-1
例外
assertThrows

JUnitコード例

@Test
void testJudgeRank() {
    MemberRankModel model = new MemberRankModel();

    assertEquals("BRONZE", model.judgeRank(3000));
    assertEquals("BRONZE", model.judgeRank(4999));
    assertEquals("SILVER", model.judgeRank(5000));
    assertEquals("SILVER", model.judgeRank(9999));
    assertEquals("GOLD", model.judgeRank(10000));
    assertEquals("GOLD", model.judgeRank(15000));
}

@Test
void testJudgeRankThrowsExceptionWhenAmountIsNegative() {
    MemberRankModel model = new MemberRankModel();

    assertThrows(
        IllegalArgumentException.class,
        () -> model.judgeRank(-1)
    );
}

解説

5000円と10000円でランクが切り替わるため、49995000999910000 のように境界の前後を確認します。

戻り値があるケースは assertEquals、0円未満で例外を期待するケースは assertThrows を使います。

元の記事に戻る

Javaでテストケースを作るには?正常系・境界値・異常系をJUnitで確認する方法