JUnit

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

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

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

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

前提条件

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

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

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

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

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



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

サラリーマン型フリーランスSEという働き方でお金の不安を解消しよう先日、「サラリーマン型フリーランスSE」という働き方を紹介するYouTube動画を視聴しましたので、その内容をご紹介します。 「サ...

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

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

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

要点まとめ

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