OkHttp Mock Web Server 和 Retrofit Mock 之间的差异



OkHttp提供了一个MockWebServer作为一个名为"mockwebserver"的独立库。

同样,Retrofit 提供了一个名为"retrofit-mock"的库。

这两个库有什么区别?我们应该使用哪一个在Android上进行仪器测试?

根据杰克沃顿

MockRetrofit 是关于在 API 到达 HTTP 客户端之前对其进行存根处理。如果你想要完整的HTTP堆栈,你应该使用OkHttp中的MockWebServer来模拟服务器,并允许自定义请求和响应到你想要的任何内容。

关于改造模拟的信息不多,但我设法找到了一些。

我认为 RetrofitMock 更容易使用,至少您不必启动并等待来自 MockWebServer 的基本 url 并将其传递给 Retrofit。它更直接。

样本:

https://riggaroo.co.za/retrofit-2-mocking-http-responses/

https://github.com/square/retrofit/blob/master/retrofit-mock/src/test/java/retrofit2/mock/BehaviorDelegateTest.java

https://github.com/square/retrofit/blob/master/samples/src/main/java/com/example/retrofit/SimpleMockService.java

包装: https://github.com/square/retrofit/tree/master/retrofit-mock/src/main/java/retrofit2/mock

信用:https://github.com/square/retrofit/issues/1413

最新更新