拜托,我有点困惑,这个测试失败了“java.lang.IllegalStateException:notNull()不能为空”:
@Test
fun when_resume_subscribe() {
// WHEN
presenter.onStart()
// THEN
verify<Model>(model).subscribe(notNull()) // <---- fails here
}
这是正在测试的方法:
override fun onStart() {
model.subscribe(object : Observer<Bar> {
override fun onCompleted() {
view?.showProgress(false)
}
//... more stuff...
请问这是怎么回事?
最佳答案
这基本上是使用 Generic 将 Null 对象封装到特定的类对象中。代码如下,我们重写any()来相应地处理问题。
private fun <T> any(): T {
Mockito.any<T>()
return uninitialized()
}
private fun <T> uninitialized(): T = null as T
有关更多详细信息,您可以查看此 https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791教程。
关于 Kotlin + Mockito : getting a null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47300603/