此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10Spring中文文档

MockMvc 可以通过以下两种方式之一进行设置。一种是直接指向控制器 想要以编程方式测试和配置 Spring MVC 基础结构。二是要 指向包含 Spring MVC 和控制器基础结构的 Spring 配置。Spring中文文档

您应该使用哪个设置选项?Spring中文文档

使用 an 会加载实际的 Spring MVC 配置,从而导致 基于 -的测试加载实际的 Spring MVC 配置, 从而进行更完整的集成测试。由于 TestContext 框架缓存 加载的 Spring 配置,它有助于保持测试快速运行,即使在您引入时也是如此 使用相同配置在测试套件中进行更多测试。此外,您可以 覆盖控制器使用的服务,以保持关注 测试 Web 图层。ApplicationContextWebApplicationContext@MockitoBeanSpring中文文档

另一方面,独立测试更接近于单元测试。它测试一个 一次控制器。您可以手动注入控制器的模拟依赖项,以及 它不涉及加载 Spring 配置。这样的测试更侧重于风格 并更容易查看正在测试的控制器,是否有任何特定的 Spring 需要 MVC 配置才能工作,依此类推。独立设置也是一个非常 编写临时测试以验证特定行为或调试问题的便捷方法。Spring中文文档

与大多数“集成与单元测试”的争论一样,没有对错之分 答。但是,使用独立测试确实意味着需要额外的集成 测试以验证 Spring MVC 配置。或者,您可以写下所有 用 来测试,这样它们就总是针对你的实际 Spring 进行测试 MVC 配置。WebApplicationContextSpring中文文档