Spring WebFlux MockServerRequest为什么不允许空的主体?

问题描述

我正在为Spring WebFlux应用程序编写一些测试,并且试图模拟一个请求没有主体的场景。我伸手去拿内置MockServerRequest,以为自己会使用内置的模拟程序。它确实允许构造没有主体的实例,但是我的测试失败了,因为它提取主体contain an assertion that the body is not null的所有方法。这似乎与实际请求的行为不一致。完全没有任何要求即可提出要求。我还要说,以awaitBodyOrNull之类的方法(我在使用Kotlin)作为后盾,有代码检查是否有尸体是合理的。

我在这里错过/误解了吗?我只是通过做MockServerRequest.builder().build()来构造我的模拟对象(被测试的方法除了关心身体之外什么都不关心)。此类实际上可能不是要单独使用吗?我没有找到其他人问这个问题,所以我觉得我必须忽略一些东西。

现在,我将通过制作自己的模拟来解决此问题。

解决方法

MockServerRequest.Builder希望您将其包裹在Mono中。它不会为您做任何包装。因此,用MockServerRequest.builder().body(Mono.empty<TestDto>())模拟一个空请求。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...