我面临的问题是 Matchers.anyObject()
返回 null
。当用于模拟仅接受不可为空类型的方法时,它会导致抛出“不应为空”异常。
`when`(mockedBackend.login(anyObject())).thenAnswer { invocationOnMock -> someResponse }
模拟方法:
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 { ... }
}
另一种解决方法是
private fun <T> anyObject(): T {
return Mockito.anyObject<T>()
}
@Test
fun myTest() {
`when`(mockedBackend).login(anyObject())).thenAnswer { ... }
}
这里是 some more discussion关于这个主题,首先建议解决方法。
关于java - 是否可以在 Kotlin 中使用 Mockito?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305217/