Mockito ArgumentCaptor für Kotlin-Funktion

Betrachten Sie eine Funktion, die eine Schnittstellenimplementierung als Argument verwendet:

interface Callback {
    fun done()
}

class SomeClass {        

    fun doSomeThing(callback: Callback) {

        // do something

        callback.done()

    }    
}

Wenn ich den Aufrufer dieser Funktion testen möchte, kann ich so etwas tun wie

val captor = ArgumentCaptor.forClass(Callback::class)
Mockito.verify(someClass).doSomeThing(captor.capture())

Um zu testen, was die andere Klasse tut, wenn der Rückruf aufgerufen wird, kann ich dann

captor.value.done()

Frage Wie kann ich dasselbe tun, wenn ich die Callback-Schnittstelle durch eine Funktion höherer Ordnung wie @ ersetz

fun doSomeThing(done: () -> Unit) {

    // do something

    done.invoke()

}

Kann dies mit ArgumentCaptor gemacht werden und welche Klasse muss ich in @ verwendArgumentCaptor.forClass(???)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage