Я пытаюсь провести модульное тестирование класса, который использует следующий сервис:
parserService.parseJsonStringToModel(json: String, adapterClass: Class<T>): T?
Мой первый подход заключался в использовании ArgumentMatchers
для реализации модульного тестирования следующим образом:
Mockito.`when`(parserService.parseJsonStringToModel(ArgumentMatchers.any(), ArgumentMatchers.any<CreateAccountRequest>().javaClass)).thenReturn(null)
Так как ArgumentMatchers.any()
возвращает null
в Kotlin, это производит NullPointerException
для необнуляемых типов.Поэтому я попробую библиотеку Mockito-Kotlin , чтобы избежать этой проблемы.Подход выглядит следующим образом:
whenever(parserService.parseJsonStringToModel(any(), any<CreateAccountRequest>().javaClass)).thenReturn(null)
Используемая библиотека решает проблему для первого аргумента, но по-прежнему выдает NullPointerException
для переданного второго аргумента.
Итак, как я могу создать ArgumentMatchers
для Class<T>
аргументов типа?