JUnit

JUnitのMockitoで例外処理のテストをしてみた

Mockitoを利用すると、例外を発生させるMockプログラムも作成することができる。
今回は例外処理を含むプログラムをテストするJUnitのプログラムを作成してみたので、共有する。

前提条件

下記記事の「起動ポートの変更」までの手順が完了していること。

IntelliJ IDEA上でGradleを使ってWeb画面のSpring Bootプロジェクトを作成してみたSpring Bootのプロジェクトを新規作成を「IntelliJ IDEA」のメニューから実施しようとしたところ、無料の「Commun...

やってみたこと

  1. テスト対象プログラムの作成
  2. テスト対象プログラムの実行
  3. JUnitのプログラムの作成と実行

 

テスト対象プログラムの作成

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上図の赤枠は、今回記載するサンプルプログラムの内容である。

テスト対象のコントローラクラスの内容は以下の通り。



また、上記プログラムから呼び出されるコンポーネントクラスの内容は以下の通り。

freelance hubを利用して9万件を超える案件情報からJava Spring案件を検索してみたfreelance hubは、レバテックフリーランスやフリエン(furien)を始めとした多くのフリーランスエージェントの案件をまとめて...

さらに、例外が発生しなかった場合に表示される画面のHTMLファイルの内容は以下の通り。

また、エラーを表示させる画面のHTMLファイルの内容は以下の通り。



「HD Video Converter Factory Pro」は動画の形式変換や編集・録画等を行える便利ツールだった動画の形式変換や編集・録画等を行える便利ツールの一つに、「HD Video Converter Factory Pro」があります。ここ...

テスト対象プログラムの実行

テスト対象プログラムを実行する前に、まずは以下のファイル「test.txt」をC:\tmp下に配置する。
プログラム実行前のファイル配置1
プログラム実行前のファイル配置2

上記状態で、Spring Bootアプリケーションを起動し、「http:// (ホスト名):(ポート番号)」とアクセスすると、以下の画面(index.html)が表示される。
実行結果(正常時)

C:\tmp 下に「test.txt」が無い状態で、Spring Bootアプリケーションを起動し、「http:// (ホスト名):(ポート番号)」とアクセスすると、以下のエラー画面(error.html)が表示される。
実行結果(エラー時)



「AOMEI Partition Assistant Standard(無料)版」は便利なパーティション管理ツールだったハードディスクの記憶領域を論理的に分割し、分割された個々の領域のことを、パーティションといいます。 例えば、以下の図の場合、C/D...

JUnitのプログラムの作成と実行

テスト対象のコントローラクラス「DemoController.java」から呼ばれるコンポーネントクラス「DemoComponent.java」で例外を発生させた場合の、JUnitのサンプルプログラムの内容は以下の通り。

下記の「testDemoControllerNotFoundException」「testDemoControllerIOException」メソッドのように、doThrow句を利用することで、指定したメソッドで指定した例外がスローされるようにMock設定できる。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/junit-mockito-exception/demo

「EaseUS Todo Backup」は様々な形でバックアップ取得が行える便利ツールだったパソコン内のデータを、ファイル/パーティション/ディスク等の様々な単位でバックアップしたり、バックアップのスケジュール設定や暗号化設定も...

さらに、上記プログラムを実行した結果は以下の通りとなる。
JUnitの実行結果

要点まとめ

  • 指定したメソッドで指定した例外をスローするには、MockitoライブラリのdoThrowメソッドを利用する。