我正在尝试对使用以下服务的类进行单元测试:
parserService.parseJsonStringToModel(json: String, adapterClass: Class<T>): T?
我的第一种方法是用来ArgumentMatchers
实现单元测试,如下所示:
Mockito.`when`(parserService.parseJsonStringToModel(ArgumentMatchers.any(), ArgumentMatchers.any<CreateAccountRequest>().javaClass)).thenReturn(null)
由于在 Kotlin 中ArgumentMatchers.any()
返回null
,因此产生NullPointerException
了不可为空的类型。所以我尝试使用Mockito-Kotlin库来避免这个问题。该方法如下所示:
whenever(parserService.parseJsonStringToModel(any(), any<CreateAccountRequest>().javaClass)).thenReturn(null)
使用的库解决了第一个参数的问题,但仍然产生NullPointerException
传递的第二个参数。
那么,我怎样才能创建一个ArgumentMatchers
forClass<T>
类型参数呢?