Android 与PagedList.BoundaryCallback一起使用的单元测试分页jetpack库<;T>;()带有页面列表<;T>;和数据源。工厂<;国际贸易,T>;
问题: 我正在使用由提供的库,无法在我的Android 与PagedList.BoundaryCallback一起使用的单元测试分页jetpack库<;T>;()带有页面列表<;T>;和数据源。工厂<;国际贸易,T>;,android,unit-testing,android-jetpack,android-paging,Android,Unit Testing,Android Jetpack,Android Paging,问题: 我正在使用由提供的库,无法在我的ViewModel中测试PagedList和DataSource.Factory与PagedList.BoundaryCallback()一起使用的数据 使用PagedList.BoundaryCallback()和PagedList.Config.Builder()接收PagedList数据的我的代码: final var boundaryCallback = MyBoundaryCallback( webServiceApi, mai
ViewModel中测试PagedList
和DataSource.Factory
与PagedList.BoundaryCallback()一起使用的数据
使用PagedList.BoundaryCallback()
和PagedList.Config.Builder()
接收PagedList
数据的我的代码:
final var boundaryCallback = MyBoundaryCallback(
webServiceApi, mainRepository, PAGE_SIZE, appExecutors)
private final val pagedListConfig = PagedList.Config.Builder()
.setEnablePlaceholders(false)
.setPrefetchDistance(PREFETCH_DISTANCE)
.setPageSize(PAGE_SIZE)
.build()
var pagedListData: LiveData<PagedList<MyData>> =
LivePagedListBuilder(dbDAO.loadAllPagedData(), pagedListConfig)
.setBoundaryCallback(boundaryCallback)
.build()
我不知道如何模仿PagedData
,因此如果有人知道如何处理此问题,请与我们分享
对于简单的数据列表,我可以使用如下代码进行测试:
@Query("SELECT * FROM mydata")
fun loadAllPagedData(): DataSource.Factory<Int, MyData>
@Test
fun testBasicData() {
val dbMyData = MutableLiveData<List<MyData>>()
val observer = mock<Observer<List<MyData>>>()
Mockito.`when`(deliveriesDAO.loadAllData()).thenReturn(dbDeliveriesData)
val list = MyMockDataGenerator.createList(4)
dbDeliveriesData.observeForever(observer)
dbDeliveriesData.value = list
Mockito.verify(observer).onChanged(list)
}
@测试
趣味测试基本CDATA(){
val dbMyData=MutableLiveData()
val observer=mock()
Mockito.`when`(deliveriesDAO.loadAllData())。然后返回(dbDeliveriesData)
val list=MyMockDataGenerator.createList(4)
dbDeliveriesData.ObserveForver(观察者)
dbDeliveriesData.value=列表
Mockito.verify(观察者).onChanged(列表)
}
@Test
fun testBasicData() {
val dbMyData = MutableLiveData<List<MyData>>()
val observer = mock<Observer<List<MyData>>>()
Mockito.`when`(deliveriesDAO.loadAllData()).thenReturn(dbDeliveriesData)
val list = MyMockDataGenerator.createList(4)
dbDeliveriesData.observeForever(observer)
dbDeliveriesData.value = list
Mockito.verify(observer).onChanged(list)
}