如何验证使用mockito的kotlin可变参数函数

我在界面中有一个这种形式的kotlin函数:

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

使用Mockito来模拟这个接口,我如何验证这个函数被调用没有对?

它不能使第二个匹配器关闭,因为那么Mockito抱怨​​说它需要两个匹配器。

使用任何any*()匹配器,包括anyVararg() ,由于输入而失败。

一个非答案给予一些启发:

请记住,Mockito不知道或不在乎某些Kotlin源代码文件中的内容。

Mockito只处理编译的字节码。 换句话说:Mockito查看最终的类文件; 由kotlin编译器创建。

因此:你的第一站应该是javap来反汇编包含该方法定义的类文件。 你检查那里的方法的签名; 这应该告诉你如何为Mockito指定正确的参数匹配器。

还有一个想法:java varargs translate arrays。 所以“否”参数意味着:一个空的数组。 所以你可能想特别匹配像empty array of Pairs