[TOC]
## `MockServerHttpRequest`和`MockServerHttpResponse`
`org.springframework.mock.http.server.reactive`包包含了用于`WebFlux`应用程序的`ServerHttpRequest`和`ServerHttpResponse`的`Mock`实现。
`org.springframework.mock.web.server`包包含一个`mock` `ServerWebExchange`,它依赖于那些`mock`请求和响应对象。
`MockServerHttpRequest`和`MockServerHttpResponse`都扩展自相同的抽象基类,作为特定于服务器的实现,并与它们共享行为。例如,`mock`请求一旦创建就不可变,但是您可以使用`ServerHttpRequest`中的`mutate()`方法来创建修改后的实例。
为了让模拟响应正确实现写契约并返回写完成句柄(即`Mono<Void>`),默认情况下,它使用带有`cache().then()`的`Flux`,它缓冲数据并使其可用于测试中的断言。应用程序可以设置自定义的写函数(例如,测试无限流)。
## `WebTestClient`
`WebTestClient`是一个用于测试服务器应用程序的`HTTP`客户端。它包装了`Spring`的`WebClient`并使用它来执行请求,但暴露了一个测试`facade`来验证响应。`WebTestClient`可用于执行端到端`HTTP`测试。它还可以用于测试`Spring MVC`和`Spring WebFlux`应用程序,无需运行服务器,通过模拟服务器请求和响应对象。
- 1.反应式编程概述
- 2.Reactor框架
- Flux
- Mono
- 订阅(Subscribe)
- 编程创建序列
- 线程和调度器
- 错误处理
- 3.Spring WebFlux概述
- 4.Spring WebFlux核心组件
- HttpHandler
- WebHandler
- ServerWebExchange
- 编码和解码器
- JSON
- Form Data
- Multipart Data
- 过滤器
- 异常处理器
- DispatcherHandler
- 5.Spring Boot启动WebFlux
- 6.Spring WebFlux注解控制器
- 请求映射
- 处理程序方法
- 方法参数
- 返回值
- 类型转换
- 模型(Model)
- 数据绑定(DataBinder)
- 异常管理
- @ControllerAdvice
- 7.Spring WebFlux函数端点
- HandlerFunction
- RouterFunction
- 运行服务
- 函数过滤器
- 8.Spring Boot中使用函数端点
- 9.Spring Webflux请求处理流程
- 10.Spring WebFlux配置
- 11.Spring WebFlux使用R2DBC访问MySQL
- 12.Spring WebFlux访问Redis
- 13.Spring WebFlux访问MongoDB
- 14.Spring WebFlux集成Thymeleaf
- 15.Spring WebFlux集成FreeMarker
- 16.Spring WebFlux WebClient
- 17.Spring WebFlux WebSocket
- 18.测试
- 19.RSocket