当我尝试在Spring 4.x上进行测试时,我使用了MockMvc Web客户端,
但是我正在阅读并尝试Spring 5.x的新功能。

我认为,WebTestClient和MockMvc是相同或非常相似的。

MockMvc和WebTestClient有什么区别?

我等着你的回答。
谢谢

最佳答案

相似点


两者均提供用于测试Web服务的fluent样式语法。
两者都可以或确实在绕过HTTP使用的模拟环境中运行。


主要差异


WebTestClient也可以用于使用HTTP测试真实的Web服务。


指定@SpringBootTest而不是@WebFluxTest

仅当您在本地服务器上使用Netty时,WebTestClient才有效。


感觉就像是对测试环境的人为限制。
这可能是由于底层WebClient的非阻塞性质所致。

WebTestClient可以测试Streaming Responses


资源资源


Benefits of having HTTP endpoints return Flux/Mono instances instead of DTOs
Unable to use reactive WebClient without spring-boot-starter-reactor-netty
WebTestClient documentation
Spring Boot Data Rest don't support reactive?-净额限制

关于spring - MockMvc和WebTestClient有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49330878/

10-09 03:38