当我尝试在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/