概要

コントローラーをインスタンス化し、依存関係を挿入し、そのメソッドを呼び出すことで、Spring MVC の単純な単体テストを作成できます。ただし、このようなテストでは、リクエストマッピング、データバインディング、メッセージ変換、型変換、検証は検証されず、サポートされている @InitBinder@ModelAttribute、または @ExceptionHandler メソッドも含まれていません。

MockMvc とも呼ばれる Spring MVC テストフレームワークは、サーバーを実行せずに Spring MVC コントローラーのより完全なテストを提供することを目的としています。これは、DispatcherServlet を呼び出して、実行中のサーバーなしで完全な Spring MVC リクエスト処理を複製する spring-test モジュールからサーブレット API の「モック」実装を渡すことによって行います。

MockMvc は、軽量でターゲットを絞ったテストを使用して Spring MVC アプリケーションのほとんどの機能を検証できるサーバー側のテストフレームワークです。それ自体を使用してリクエストを実行し、レスポンスを検証することも、リクエストを処理するサーバーとして接続された MockMvc を WebTestClient API を介して使用することもできます。