我正在使用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)
在这种情况下是否可以为内容解析器创建模拟响应?
最佳答案
看起来像是可空性问题。 Mockito在Kotlin中不能与可空类型一起使用。
有一个处理此问题的库:https://github.com/nhaarman/mockito-kotlin
我建议您在这里检查anyOrNull()并尝试类似的方法
ArgumentMatchers.anyOrNull<String>(), isNull(), isNull()
阅读this article可以全面了解问题以及如何处理任何不同的情况。