Mockito:使用 OK HTTP 客户端模拟 HTTP 调用

Mockito: mocking an HTTP call with OK HTTP Client

我正在使用 Kotlin 的 OK HTTP 客户端从我的应用程序进行 HTTP 调用:

val httpCall = okHttpClient.newCall(myRequest)
val response = httpCall.execute()

客户端创建为 bean:

@Bean(name = ["okHttpClient"])
fun produceOkHttpClient(): OkHttpClient? {
    return OkHttpClient()
}

如何使用 Mockito 在我的单元测试中对此进行模拟?

我设置了一个模拟 bean:

@Bean
fun okHttpClient(): OkHttpClient? {
    return mock(OkHttpClient::class.java)
}

...我在单元测试中尝试了以下内容:

val call : Call = mock(Call::class.java)
`when`(okHttpClient?.newCall(any(Request::class.java))).thenReturn(call)

...但是当我尝试 运行 测试时收到这条(让我感到困惑)消息:

java.lang.IllegalStateException: any(Request::class.java) must not be null

我已经改为使用 Mockk (https://mockk.io/)。