Kotlin + Mockito:得到一个null

请我有点困惑,这个测试失败与“java.lang.IllegalStateException:notNull()不能为空”

@Test fun when_resume_subscribe() { // WHEN presenter.onStart() // THEN verify(model).subscribe(notNull()) // <---- fails here } 

这里是测试的方法:

 override fun onStart() { model.subscribe(object : Observer { override fun onCompleted() { view?.showProgress(false) } //... more stuff... 

请问发生了什么?

这基本上是使用Generic将Null对象封装到特定的类对象中。 代码如下,我们重写any()来相应地处理这个问题。

 private fun  any(): T { Mockito.any() return uninitialized() } private fun  uninitialized(): T = null as T 

有关更多详细信息,可以查看https://medium.com/@elye.project/befriending-kotlin-and-mockito-1c2e7b0ef791教程。