小编Mo *_*del的帖子

使用远程中介和分页源对具有分页 3 的存储库进行单元测试

我正在尝试对 android 中的存储库类进行单元测试,该类使用远程中介器和分页源进行分页。

但是当我运行测试时,返回的结果是空的,尽管实际应该包含测试项。

像下面这样:

这是我的存储库

class PostsRepository @Inject constructor(
    private val postsApi: AutomatticPostsApi,
    private val postsDao: PostDao
) : IPostsRepository {

    @ExperimentalPagingApi
    override fun loadPosts(): Flow<PagingData<Post>> {
        println("loadPosts")
        return Pager(
            config = PagingConfig(20),
            initialKey = 1,
            remoteMediator = PostsPageRemoteMediator(
                postsApi,
                postsDao
            ),
            pagingSourceFactory = { postsDao.getPostsPagingSource() }
        ).flow.map { pagingData ->
            pagingData.map { it.toPost() }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的UT

@ExperimentalCoroutinesApi
@ExperimentalPagingApi
class PostsRepositoryTest {
    @get:Rule
    val instantTaskExecutorRule = InstantTaskExecutorRule()

    private val coroutineDispatcher = TestCoroutineDispatcher()
    private lateinit var postDao: FakePostDao …
Run Code Online (Sandbox Code Playgroud)

paging android unit-testing android-paging-3

4
推荐指数
2
解决办法
3344
查看次数

如何区分SELECT查询中的大写或小写单词

基本上我觉得问题很简单.但无法找到任何解决方案.

在登录表单中,我使用php来查询我的数据库,通过从数据库表中选择具有该2个值的任何行来检查传递的用户名和密码.

什么似乎是问题是当我登录前.

用户:mm

传球:oo

这样可行.这是正确的,因为它们在db表上.

但现在,如果我使用

用户:MM

传球:oo

仍然有效?哪个不应该.由于我的数据库只有'mm'而不是'MM'.我需要它来区分上部和下部,因为在其他行中我混合了上部和下部字母

php mysql select

2
推荐指数
1
解决办法
268
查看次数

GridLayoutManager跨度大小RecycleView

在此输入图像描述 我正在尝试使用RecyclerView和GridLayoutManager实现类似于上图的布局,我尝试根据位置设置setSpanSizeLookup但是无法模仿上面的设计.

有人可以帮忙吗?

UPDATE

在此输入图像描述

android view gridlayoutmanager android-recyclerview

2
推荐指数
1
解决办法
4336
查看次数

Canvas获取尺寸随不同设备屏幕尺寸变化

我正在尝试在视图的画布上画一个圆圈,我面临一个问题,在不同的屏幕尺寸上测试代码后,我发现绘图尺寸发生了变化,尽管我给了视图静态宽度和高度 300。我期望它在所有设备上具有相同的大小。

android canvas ondraw

1
推荐指数
1
解决办法
1349
查看次数