[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