概览
您可以为 Spring MVC 编写简单的单元测试,方法是实例化控制器,为其注入依赖项,并调用其方法。但是,此类测试不会验证请求映射、数据绑定、消息转换、类型转换、验证,也不会涉及任何支持的 @InitBinder
、@ModelAttribute
或 @ExceptionHandler
方法。
Spring MVC 测试框架(也称为 MockMvc
)旨在为 Spring MVC 控制器提供更完整的测试,而无需运行服务器。它通过调用 DispatcherServlet
并从 spring-test
模块传递 “模拟” 的 Servlet API 实现 来实现这一点,该实现复制了完整的 Spring MVC 请求处理,而无需运行服务器。
MockMvc 是一个服务器端测试框架,它允许您使用轻量级且有针对性的测试来验证 Spring MVC 应用程序的大部分功能。您可以单独使用它来执行请求并验证响应,也可以通过 WebTestClient API 使用它,并将 MockMvc 插入作为服务器来处理请求。