Unit testing 使用MockServerRequest断言WebFlux服务器响应

Unit testing 使用MockServerRequest断言WebFlux服务器响应,unit-testing,spring-webflux,Unit Testing,Spring Webflux,我想将路由器层和处理程序层分开,所以我不想像中建议的那样使用WebTestClient。我不认为在这个问题上抛出WebTestClient是正确的解决方案 在我的例子中,我使用的是MockServerRequest,它只允许测试http状态代码和头。无法断言响应的主体 val request=MockServerRequest.builder() .method(HttpMethod.GET) .uri(uri.create(“/service”)) .build() 创建(myHandler.

我想将路由器层和处理程序层分开,所以我不想像中建议的那样使用
WebTestClient
。我不认为在这个问题上抛出
WebTestClient
是正确的解决方案

在我的例子中,我使用的是
MockServerRequest
,它只允许测试http状态代码和头。无法断言响应的主体

val request=MockServerRequest.builder()
.method(HttpMethod.GET)
.uri(uri.create(“/service”))
.build()
创建(myHandler.handleGet(请求))
.assertNext{/*和assertThat(it.body())…*/}
.verifyComplete()

有没有一种方法来维护身体?如果没有,那么为什么以及替代方案是什么?

在调试时,我注意到我可以看到主体(实体)。因此,我检查了返回的类及其层次结构。我已经意识到铸造可以解决这个问题,而且它是有效的(我不确定这是否是正确的方法)

有关守则:

val request=MockServerRequest.builder()
.method(HttpMethod.GET)
.uri(uri.create(“/service”))
.build()
创建(myHandler.handleGet(请求))
.assertNext{assertThat((它作为EntityResponse.entity())
.isNotNull/*添加更多断言*/}
.verifyComplete()