JUnit

セッションからリストを取得するユーティリティクラスのJUnitテストを行ってみた

以前このブログにて、セッションからリストを取得するユーティリティクラスを作成してみたが、今回はそのJUnitのソースコードを作成してみたので、そのサンプルプログラムを共有する。

今回のサンプルプログラムでは、リクエスト・セッションオブジェクトをMock化し、テストカバレッジ=100%になるようにしている。

前提条件

下記記事の実装が完了していること。

ユーティリティクラスの良い例と悪い例を実装してみたごく単純なJavaクラスの実装であっても、実装方法はいくつか考えられるため、その中で「最も良い」実装方法を検討し選択する必要がある。今回...



サンプルプログラムの作成

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

今回のテスト対象となるユーティリティクラスの内容は以下の通りで、nullを返却するロジックの通過場所が分かるよう、標準出力文を追加している。



また、今回のテストクラスの内容は以下の通りで、テストカバレッジ=100%になるように各ロジックを全て通るようなテストコードを作成している。なお、このプログラムのコメントに記載している通り、HashMapにキー項目が無い場合、キー項目にnullや空文字が指定された場合などについてのテストについては、テストを行わなくてもテストカバレッジ=100%になるため、実施していない。



サンプルプログラムの実行結果

今回作成したサンプルプログラムの実行結果は、以下の通り。

1) JUnitテストクラスの実行結果は以下の通りで、テストが正常に実行されていることが確認できる。
サンプルプログラムの実行結果_1_1

サンプルプログラムの実行結果_1_2



フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...

2) 実行カバレッジの実行結果は以下の通りで、テスト対象クラスについて100%のカバレッジになっていることが確認できる。
サンプルプログラムの実行結果_2_1

サンプルプログラムの実行結果_2_2

要点まとめ

  • MockHttpServletRequestクラスでリクエストのMock化を、MockHttpSessionクラスでセッションのMock化を行うことができる。
  • テストカバレッジ=100%になるようにするには、各ロジックを全て通るようなテストコードを作成する必要がある。