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

このページは、Javaの単体テストで境界値を確認するには?条件分岐のテストケースを作る考え方の確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。
確認問題の回答例
仕様の分かれ目は、60、80、0、100 です。条件が切り替わる直前とちょうどの値、受け付けない値を考えます。
| 確認したいこと | 入力値 | 期待する結果 | 確認方法 |
|---|---|---|---|
| 0未満は例外 | -1 | 例外 | assertThrows |
| 0点はC | 0 | C | assertEquals |
| 60点未満はC | 59 | C | assertEquals |
| 60点以上はB | 60 | B | assertEquals |
| 80点未満はB | 79 | B | assertEquals |
| 80点以上はA | 80 | A | assertEquals |
| 100点はA | 100 | A | assertEquals |
| 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)
);
}
境界値の問題では、代表的な値だけではなく、条件が切り替わる直前とちょうどの値を確認することが大切です。