Kotlin + Mockito : getting a null

标签 kotlin mockito

拜托,我有点困惑,这个测试失败了“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/

相关文章:

android - 我对项目中每个项目的适配器定位有疑问

android - 使用 ktor 进行流式下载

java - 使用 PowerMock 模拟单例的 getInstance

java - 不能在 Spock 测试中使用 Mockito spy 类?

android - Kotlin - 如何在 Telegram 应用程序中打开 Telegram 群组的链接

android - 无法解析编译器类路径。检查项目 ':app' 中是否配置了 Kotlin Gradle 插件存储库

android - Kotlin:具有关联值的枚举; 'enum entry' 内的函数得到 `unresolved reference` 错误

java - 使mockito强制方法在进程完成之前返回其值

java - 我正在尝试使用 Junit、mockito 和 PowerMock 创建单元测试

java - 使用mockito在getObjectValue()上出现空指针异常