响应式应用的测试与调试
1. 响应式 Spring Boot 应用的测试
在响应式 Spring Boot 应用的测试中, StepVerifier
是一个非常有用的工具。以下是一个使用 StepVerifier
进行测试的示例代码:
StepVerifier.create(client.get()
.uri("/acpos/search?reg=N54321")
.exchange()
.expectStatus().isOk()
.expectHeader().contentType(MediaType.APPLICATION_JSON)
.returnResult(Aircraft.class)
.getResponseBody())
.expectNext(ac2)
.expectNext(ac3)
.verifyComplete();
执行 PositionControllerTest
类中的所有测试会得到令人满意的结果。 StepVerifier
提供了更多的测试可能性,其中 StepVerifier::withVirtualTime
方法尤其值得关注。该方法允许对间歇性发出值的发布者进行测试,将原本可能分散在较长时间内的结果瞬间生成。 StepVerifier::withVirtualTime
接