|
此版本仍在开发中,尚未被视为稳定版。如需最新稳定版本,请使用 Spring Framework 7.0.6! |
概述
你可以通过实例化一个控制器、注入其依赖项并调用其方法,来编写针对 Spring MVC 的普通单元测试。然而,这类测试无法验证请求映射、数据绑定、消息转换、类型转换或验证,也不会涉及任何辅助性的 @InitBinder、@ModelAttribute 或 @ExceptionHandler 方法。
MockMvc 旨在在无需启动服务器的情况下,为 Spring MVC 控制器提供更完整的测试支持。
它通过调用 DispatcherServlet 并传入
来自 spring-test 模块的 Servlet API 的“模拟”实现,
从而在不运行服务器的情况下复现完整的 Spring MVC 请求处理流程。
MockMvc 是一个服务器端测试框架,允许你通过轻量级且有针对性的测试来验证 Spring MVC 应用程序的大部分功能。你可以单独使用它来发起请求,并使用 Hamcrest 或通过 MockMvcTester(它提供了基于 AssertJ 的流畅 API)来验证响应。你也可以通过 WebTestClient API 使用它,将 MockMvc 作为处理请求的服务器进行集成。