我正在使用espresso,我想为内容解析器创建模拟响应。
当我使用时:
`when`(context.activity.contentResolver.query(
ArgumentMatchers.isA(Uri::class.java),
ArgumentMatchers.isA(Array<String>::class.java),
ArgumentMatchers.anyString(), null, null))
.thenReturn(matrixCursor)
我收到错误:
java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:128)
在这种情况下,是否可以为内容解析器创建模拟响应?
答案 0 :(得分:2)
这看起来像是一个可空性问题。 Mockito在Kotlin中的可空类型效果不佳。
有一个库可以解决这个问题:https://github.com/nhaarman/mockito-kotlin
我建议你在这里查看anyOrNull()并尝试类似
的内容ArgumentMatchers.anyOrNull<String>(), isNull(), isNull()
阅读this article以充分了解问题以及如何处理任何不同的情况。