测试

本节总结了 spring-test 中可用于 Spring MVC 应用程序的选项。

  • Servlet API 模拟:用于单元测试控制器、过滤器和其他 Web 组件的 Servlet API 契约的模拟实现。有关更多详细信息,请参阅 Servlet API 模拟对象。

  • TestContext 框架:支持在 JUnit 和 TestNG 测试中加载 Spring 配置,包括跨测试方法高效缓存已加载的配置以及使用 MockServletContext 加载 WebApplicationContext。有关更多详细信息,请参阅 TestContext 框架

  • Spring MVC 测试:一个框架,也称为 MockMvc,用于通过 DispatcherServlet(即支持注释)测试带注释的控制器,它包含 Spring MVC 基础设施,但没有 HTTP 服务器。有关更多详细信息,请参阅 Spring MVC 测试

  • 客户端 REST:spring-test 提供了一个 MockRestServiceServer,你可以将其用作模拟服务器来测试在内部使用 RestTemplate 的客户端代码。有关更多详细信息,请参阅 客户端 REST 测试

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