概要

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

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

MockMvc は、軽量でターゲットを絞ったテストを使用して、Spring MVC アプリケーションのほとんどの機能を検証できるサーバー側テストフレームワークです。これを単独で使用して、Hamcrest を使用してリクエストを実行し、レスポンスを検証したり、AssertJ を使用して流れるような API を提供する MockMvcTester を介して使用したりできます。また、リクエストを処理するサーバーとして MockMvc をプラグインして、WebTestClient API を介して使用することもできます。