contentProvider matrixCursor测试

时间:2018-09-12 10:41:54

标签: android junit4 android-contentprovider junit-runner

我正在尝试测试自定义内容提供者查询方法。

以下是在contentProvider内部创建光标的代码块:

@VisibleForTesting
@Throws(AuthException::class)
fun createUserNameMatrixCursor(): MatrixCursor {
    val user = userInteractor.user.blockingFirst()
    val matrixCursor = MatrixCursor(arrayOf(FIELD_FULL_NAME))
    matrixCursor.addRow(arrayOf(
            user.fullName
    ))
    return matrixCursor
}

这是一个测试:

   @Test
fun userNameTest() {
    val user = User()
    user.fullName = "Nikita Borisovich Djigurda"
    whenever(userInteractor.user)
            .thenReturn(Observable.just(user))
    val cursor = contentProvider.createUserNameMatrixCursor()
    cursor.moveToFirst()
    val resultName = cursor.getString(cursor.getColumnIndex(AuthContentProvider.FIELD_FULL_NAME))
    Assert.assertEquals(resultName, user.fullName)
}

但是光标不包含任何值。计数== 0。 contentProvider有效。我在调试模式下获得了价值。为什么测试不起作用?为什么矩阵不包含任何值?

0 个答案:

没有答案