Как проверить функцию 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 .

Intereting Posts
Почему я получаю сообщение об ошибке «Смарт-бросок в« Лонг »невозможно» в Котлине? Но это нормально в java? Не удается получить доступ к BaseColumns, предоставляет свойство _ID в Котлине Расширить класс данных в Котлине динамически созданный текст, как сделать findViewByTag в kotlin, он показывает неразрешенные ссылки Как вызвать функцию в kotlin с сырыми типами Kotlin-allopen для андроида Как я могу делегировать реализацию изменчивому свойству в Котлин? Есть ли способ передать ссылку на функцию между действиями? Kotlin: Android-приложение неожиданно останавливается из-за textView Котлин: когда и как следует использовать выражения лямбда Сортировка коллекции по нескольким полям в Котлине Параметры контекстного типа Hadoop в Котлине Можно ли смешивать Scala и Kotlin в одном модуле maven? Обработчик () postDelay недоступен для этого кода Котлина, как его исправить? Kotlin Decompiler генерирует ошибочный код – можно ли предотвратить?