Javaの単体テストはどこまで書く?テストケースの考え方とカバレッジの目安|確認問題の回答例

このページは、Javaの単体テストはどこまで書く?テストケースの考え方とカバレッジの目安の確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。
確認問題の回答例
JUnitコード例
@Test
void testJudgeRank() {
ScoreChecker checker = new ScoreChecker();
assertEquals("C", checker.judgeRank(30));
assertEquals("C", checker.judgeRank(59));
assertEquals("B", checker.judgeRank(60));
assertEquals("B", checker.judgeRank(79));
assertEquals("A", checker.judgeRank(80));
assertEquals("A", checker.judgeRank(90));
}
@Test
void testJudgeRankThrowsExceptionWhenScoreIsOutOfRange() {
ScoreChecker checker = new ScoreChecker();
assertThrows(IllegalArgumentException.class, () -> checker.judgeRank(-1));
assertThrows(IllegalArgumentException.class, () -> checker.judgeRank(101));
}
解説
60 と 80 で判定が切り替わるため、59、60、79、80 を境界値として確認しています。
また、仕様上受け付けない -1 と 101 は異常値として扱い、assertThrows で例外を確認します。