我面临的问题是Matchers.anyObject()返回null.当用于模拟只接受不可为null的类型的方法时,会引发"不应为null"异常.

`when`(mockedBackend.login(anyObject())).thenAnswer { invocationOnMock -> someResponse }

Mocked method:

public open fun login(userCredentials: UserCredentials): Response

推荐答案

有两种可能的解决方法:

private fun <T> anyObject(): T {
    Mockito.anyObject<T>()
    return uninitialized()
}

private fun <T> uninitialized(): T = null as T

@Test
fun myTest() {
    `when`(mockedBackend).login(anyObject())).thenAnswer { ... }
}

The other workaround is

private fun <T> anyObject(): T {
    return Mockito.anyObject<T>()
}

@Test
fun myTest() {
    `when`(mockedBackend).login(anyObject())).thenAnswer { ... }
}

下面是关于这个主题的some more discussion条建议,其中首先提出了解决方法.

Kotlin相关问答推荐

在调用父构造函数之前重写类属性

我需要后台工作才能使用卡夫卡的消息吗?

kotlin短路列表判断吗?

Spring Boot Kotlin 数据类未使用 REST 控制器中的默认值初始化

使用调度程序运行异步 Kotlin 代码

init中的NPE抽象函数变量

将 Integer 转换为 Unit 编译成功

内容更改后的 var 重新计算

如果不为空,则为 builder 设置一个值 - Kotlin

关于 Kotlin 函数类型转换的问题

这是什么 Kotlin 类型:(String..String?)

kotlin,如何从函数返回类类型

如何使用 Coil 从 URL 获取位图?

Kotlin:如何在活页夹中返回正在运行的服务实例?

作为 Kotlin 中的函数的结果,如何从 Firestore 数据库返回列表?

Kotlin - 来自 KType 的 KClass<*>

如果我可以将 Flow 和 StateFlow 与生命周期范围 \ viewLifecycleOwner.lifecycleScope 一起使用,那么在 ViewModel 中使用 LiveData 有什么意义

Kotlin扩展函数与成员函数?

在Kotlin中创建通用二维数组

项目不会使用 Kotlin 1.1.3 构建