Я работаю с PagedList
от Google, но одна вещь, которая затрудняет тестирование, - это работа с PagedList
.
В этом примере я использую шаблон репозитория и возвращаю информацию из API или сети.
Поэтому в ViewModel я вызываю этот метод интерфейса:
override fun getFoos(): Observable<PagedList<Foo>>
Затем репозиторий будет использовать RxPagedListBuilder
для создания Observable
который имеет тип PagedList:
override fun getFoos(): Observable<PagedList<Foo>> =
RxPagedListBuilder(database.fooDao().selectAll(), PAGED_LIST_CONFIG).buildObservable()
Я хочу, чтобы тесты могли настраивать возврат из этих методов, которые возвращают PagedList<Foo>
. Что-то похожее
when(repository.getFoos()).thenReturn(Observable.just(TEST_PAGED_LIST_OF_FOOS)
Два вопроса:
- Это возможно?
- Как создать
PagedList<Foo>
?
Моя цель состоит в том, чтобы убедиться в более полном конце (например, убедиться, что на экране отображается правильный список Foos). Фрагмент/активность/представление - это тот, который наблюдает PagedList<Foo>
из ViewModel.