Mocktito ArgumentCaptor для лямбда Котлин с аргументами

Я пытаюсь проверить это на Котлине:

verify(myInterface).doSomething(argumentCaptor.capture()) capture.value.invoke(0L) 

Где doSomething:

 doSomething((Long) -> Unit) 

Как я могу создать ArgumentCaptor для этого? Прямо сейчас я делаю это

 inline fun <reified T : Any> argumentCaptor() = ArgumentCaptor.forClass(T::class.java)!! val captor = argumentCaptor<(Long) -> Unit>() verify(mainApiInterface!!).downloadUserProfilePicture(captor.capture()) captor.value.invoke(0L) 

Но я получаю java.lang.IllegalStateException: captor.capture () не должно быть null

Я также попытался интегрировать mockito-kotlin, но я получил ошибку PowerMockito:

В иерархии классов org.mockito.internal.MockitoCore не найдено ни одного поля экземпляра с именем «сообщенный».

Использование mockito-kotlin, похожее на это, похоже, работает:

  val myService = mock<MyInterface>() myService.doSomething { println(it) } verify(myService).doSomething(capture { function -> function.invoke(123) }) 

Изменить: удалить ненужный argumentCaptor<(Long) -> Unit>().apply {} – он не использовался