Я работал с библиотеками arch от 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.