Javaの単体テストとは?メソッド単位・クラス単位で何を確認するのか|確認問題の回答例

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

このページは、Javaの単体テストとは?メソッド単位・クラス単位で何を確認するのかの確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。

確認問題の回答例

  1. calculateFee(3000)500 を返すかは、単体テストとして考えやすい確認です。
  2. ボタンをクリックしたら画面に結果が表示されるかは、画面操作を含むため、単体テストというより結合テストや画面のテストに近い確認です。
  3. DBに接続してデータが登録されるかは、データベースとの連携を含むため、単体テストというより結合テストに近い確認です。
  4. judgeRank(5000)SILVER を返すかは、単体テストとして考えやすい確認です。
  5. calculateFee(-1)IllegalArgumentException が通知されるかは、単体テストとして考えやすい確認です。

解説

単体テストとして考えやすいのは、メソッドに入力を渡し、戻り値や例外を確認できるものです。calculateFee(3000)judgeRank(5000) のような確認は、入力と期待する結果の関係がはっきりしています。

一方で、画面操作やDB接続まで含めると、確認する範囲が広がります。その場合は、単体テストではなく、結合テストやシステムテストに近い確認として整理すると理解しやすくなります。

元の記事に戻る

Javaの単体テストとは?メソッド単位・クラス単位で何を確認するのか