Как проверить функцию kotlin varargs с помощью mockito

У меня есть функция котлина этой формы в интерфейсе:

fun foo(bar: String, vararg baz: Pair<String, ByteArray>):Boolean 

Используя Mockito, чтобы издеваться над этим интерфейсом, как проверить, что эта функция была вызвана без пар?

Это не сработает, оставив второй таймер, потому что тогда Мокито жалуется, что ему нужны два помощника.

Использование любого any*() совпадения, включая anyVararg() , не выполняется из-за ввода.

Неответ, чтобы дать некоторое вдохновение:

Имейте в виду, что Mockito не знает и не заботится о том, что вы пишете в каком-то файле исходного кода Kotlin.

Mockito занимается только скомпилированным байтовым кодом. Другими словами: Mockito смотрит в финальный файл класса; созданный компилятором kotlin.

Таким образом: ваша первая остановка должна быть javap для дизассемблирования файла класса, который содержит это определение метода. Вы проверяете подпись метода; и это должно сказать вам, как указать правильные аргументы соответствия Mockito.

И еще одна идея: java varargs переводит массивы. Поэтому «no» args означает: пустой массив. Поэтому вы, вероятно, захотите точно сопоставить что-то вроде empty array of Pairs .