SuperAPI AI 工具集

spring-webflux-testing

测试与质量

查看项目

更新于 10-16 03:36

技能介绍

用途:为 Spring WebFlux(响应式)应用提供测试方法指导,避免把标准断言用于响应式流导致空 Flux 静默通过的问题,正确使用 StepVerifier 与 WebTestClient。

主要能力:涉及 @WebFluxTest、WebTestClient、StepVerifier、Mono、Flux、mutateWith、mockUser()、mockJwt()、thenCancel、verifyComplete、withVirtualTime 等。可测试 GET/POST/PUT/DELETE 请求、expectBody 与 expectBodyList、jsonPath 断言、Flux 与 Mono 的成功与错误信号、基于时间的操作符与 SSE 流。@WebFluxTest 中自动配置 Spring Security。

兼容与使用:资料标注适用于 Spring Boot 3.2+/4.x、Spring Framework 6.x/7.x、Reactor Core 3.5+/3.7+、Spring Security 6.x/7.x 与 JUnit 5。具体步骤与代码示例未在资料中提供,参考文档指向 references/webflux-testing-patterns.md,其中涵盖 @WebFluxTest 设置、WebTestClient 配置、请求方法、断言、StepVerifier 用法、withVirtualTime、mutateWith(mockUser())、mockJwt()、SSE 测试及 Boot 3.x 到 4.x 的变化。

不适用场景:测试 Spring MVC(基于 Servlet)控制器应使用 spring-mvc-testing;测试基于 Servlet 应用的 Spring Security 规则应使用 spring-security-testing;测试 JPA 仓库应使用 spring-jpa-testing;测试 WebSocket 或 STOMP 消息应使用 spring-websocket-testing;编写响应式服务逻辑的纯单元测试可使用 spring-testing-fundamentals 的 AssertJ/Mockito 模式并结合 StepVerifier。收费、价格等未提供。