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)
}