概述

您可以通过实例化控制器、注入依赖项并调用其方法来为Spring MVC编写普通单元测试。但是,这种测试不会验证请求映射、数据绑定、消息转换、类型转换、验证,也不涉及任何支持的@InitBinder@ModelAttribute@ExceptionHandler方法。

Spring MVC测试框架,也称为MockMvc,旨在为Spring MVC控制器提供更完整的测试,而无需运行服务器。它通过调用DispatcherServlet并传递来自spring-test模块的Servlet API的“模拟”实现来实现这一点,该模块复制了完整的Spring MVC请求处理,而无需运行服务器。

MockMvc是一个服务器端测试框架,可以让您使用轻量级和有针对性的测试验证Spring MVC应用程序的大部分功能。您可以单独使用它来执行请求并验证响应,或者还可以通过WebTestClient API使用它,MockMvc作为服务器处理请求。