用途:为 Spring MVC 控制器编写与维护测试,重点在于 @WebMvcTest 切片测试、MockMvc 配置以及 REST 请求/响应断言。触发信号包括 @WebMvcTest、MockMvc、jsonPath、@AutoConfigureMockMvc、@RestController、MockMvcRequestBuilders、MockMvcResultMatchers、objectMapper。
主要能力:资料列出可覆盖 @WebMvcTest 与 MockMvc 配置和静态导入、GET/POST/PUT/DELETE 请求模式、jsonPath 断言、响应头与 multipart 上传、@Valid Bean 校验与 @RestControllerAdvice 异常处理测试、常见反模式与错误,以及 Boot 4 的 RestTestClient 迁移。
使用方式:当遇到上述场景时,查阅 references/mvc-rest-testing-patterns.md。该资料强调在编写任何 @WebMvcTest 之前先阅读,因为 Spring Boot 4+ 用 MockMvcTester 替代了原有 MockMvc 断言,属于不兼容的 API 变更。
适用场景:Spring Boot 3.2+/4.x、Spring Framework 6.x/7.x、Spring Security 6.x/7.x(在 @WebMvcTest 中自动配置)、JUnit 5。
限制:不适用于专测认证、授权、CSRF、JWT 或 OAuth2(应使用 spring-security-testing);不适用于响应式端点 WebFlux、WebClient、SSE(应使用 spring-webflux-testing);不适用于 JPA 仓储或数据库持久化(应使用 spring-jpa-testing);不适用于 WebSocket 或 STOMP(应使用 spring-websocket-testing);无 Spring 上下文的纯单元测试应使用 spring-testing-fundamentals。具体依赖版本与完整示例以官方资料为准,部分内容暂未提供。