【发布时间】:2016-04-16 21:23:19
【问题描述】:
我们使用 Retrofit 1 来模拟 Web 服务并模拟网络延迟,如下所示:
MockRestAdapter mockRestAdapter = MockRestAdapter.from(restAdapter);
return mockRestAdapter.create(MyService.class, new MyServiceMock());
MyService 是服务接口(将响应作为 Rx Observables 返回),MyServiceMock 是实现此接口的类。
在 Retrofit 2.0.0-beta3 中,有一个全新的模拟系统(请参阅:https://github.com/square/retrofit/pull/1343)尚未记录。 当尝试做类似的事情时,我得到:
MockRetrofit mockRetrofit = new MockRetrofit.Builder(retrofit).build();
BehaviorDelegate<AuthService> delegate = mockRetrofit.create(MyService.class);
如何将呼叫转接到MyServiceMock?
【问题讨论】:
-
顺便说一句,您也可以使用 MockWebServer 和 MockResponse 来模拟模拟 Web 服务。
-
我认为你可以从使用 Mockery 中受益。看看 ;) github.com/VictorAlbertos/Mockery