Используя Retrofit 1, мы использовали для издевательства веб-сервисов и моделирования латентности сети следующим образом:
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
?