Mockito ArgumentCaptor для функции Kotlin
Рассмотрим функцию, которая принимает реализацию интерфейса в качестве аргумента:
interface Callback {
fun done()
}
class SomeClass {
fun doSomeThing(callback: Callback) {
// do something
callback.done()
}
}
Когда я хочу проверить вызывающего эту функцию, я могу сделать что-то вроде
val captor = ArgumentCaptor.forClass(Callback::class)
Mockito.verify(someClass).doSomeThing(captor.capture())
Чтобы проверить, что делает другой класс при вызове обратного вызова, я могу сделать
captor.value.done()
Вопрос: Как я могу сделать то же самое, если я заменю интерфейс обратного вызова на функцию высокого порядка, такую как
fun doSomeThing(done: () -> Unit) {
// do something
done.invoke()
}
Можно ли это сделать с помощью ArgumentCaptor и какой класс мне нужно использовать вArgumentCaptor.forClass(???)