使用MockServerRequest断言WebFlux ServerResponse [英] Assert WebFlux ServerResponse using MockServerRequest
本文介绍了使用MockServerRequest断言WebFlux ServerResponse的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
WebTestClient
。我认为把WebTestClient
扔在这个问题上不是正确的解决方案。
在我的例子中,我使用MockServerRequest
,它只允许测试http状态代码和标头。无法断言响应的正文。
val request = MockServerRequest.builder()
.method(HttpMethod.GET)
.uri(URI.create("/service"))
.build()
StepVerifier.create(myHandler.handleGet(request))
.assertNext { /* and assertThat(it.body()) ... */ }
.verifyComplete()
有没有办法断言身体?如果没有,那么为什么还有其他选择?
推荐答案
调试时注意到可以看到Body(实体)。因此,我检查了返回的类及其层次结构。我已经意识到选角可能会解决这个问题,而且它奏效了(尽管我不确定这是不是正确的方式)。
有问题的代码:
val request = MockServerRequest.builder()
.method(HttpMethod.GET)
.uri(URI.create("/service"))
.build()
StepVerifier.create(myHandler.handleGet(request))
.assertNext { assertThat((it as EntityResponse<Fleet>).entity())
.isNotNull /* add more assertions */ }
.verifyComplete()
这篇关于使用MockServerRequest断言WebFlux ServerResponse的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文