JUnit

MockMvcを利用してコントローラクラスのテストを行ってみた

MockMvcとは、アプリケーションサーバ上にデプロイすることなくSpring MVCの動作を再現できるフレームワークで、コントローラクラスのテストを行う際に利用することができる。

今回は、MockMvcを利用したコントローラクラスのテストクラスを作成してみたので、共有する。

なお、MockMvcについての詳細は、以下のサイトを参照のこと。
https://terasolunaorg.github.io/guideline/5.4.1.RELEASE/ja/UnitTest/ImplementsOfUnitTest/UsageOfLibraryForTest.html#usageoflibraryfortestmockmvcoverview

前提条件

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

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

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

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

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



今回のテストクラスの内容は以下の通りで、MockMvcを利用して、コントローラクラスの各メソッドの動作を検証する内容になっている。



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

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

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

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

要点まとめ

  • MockMvcを利用すると、Spring MVCの動作を再現できるため、コントローラクラスのテストを行うことができる。
  • MockMvcのperformメソッドでコントローラクラスのメソッドを実行でき、andExpectメソッドでコントローラクラスの動作検証が行える。