测试

本节总结了 spring-test 为 Spring MVC 应用提供的可用选项。

  • Servlet API Mock:Servlet API 契约的 Mock 实现,用于单元测试控制器、过滤器和其他 Web 组件。更多详情请参见 Servlet API mock 对象。

  • TestContext Framework:支持在 JUnit 和 TestNG 测试中加载 Spring 配置,包括跨测试方法高效缓存已加载配置,以及支持使用 MockServletContext 加载 WebApplicationContext。更多详情请参见 TestContext Framework

  • Spring MVC Test:一个框架,也称为 MockMvc,用于通过 DispatcherServlet(即支持注解)测试注解式控制器,具备完整的 Spring MVC 基础设施但无需 HTTP 服务器。更多详情请参见 Spring MVC Test

  • 客户端 REST:spring-test 提供了一个 MockRestServiceServer,你可以用它作为 mock 服务器来测试内部使用 RestTemplate 的客户端代码。更多详情请参见 客户端 REST 测试

  • WebTestClient:专为测试 WebFlux 应用而构建,但也可用于通过 HTTP 连接对任何服务器进行端到端集成测试。它是一个非阻塞、响应式客户端,非常适合测试异步和流式场景。更多详情请参见 WebTestClient