如何使用Mockito验证Kotlin Varargs函数



i在接口中具有此表单的kotlin函数:

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

使用Mockito模拟此界面,我如何验证该功能是否在没有对的情况下调用?

它不起作用,将第二个匹配项关闭,因为随后摩索哥抱怨它需要两个匹配者。

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

一个非答案提供一些灵感:

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

Mockito仅处理编译字节代码。换句话说:莫科托(Mockito(看着最后的classfile;由Kotlin编译器创建。

因此:您的第一站应该是javap,以拆卸包含该方法定义的类文件。您可以检查方法的签名;这应该告诉您如何指定正确的参数匹配者到Mockito。

只是另一个想法:Java Varargs翻译数组。因此,"否" args表示:一个空数组。因此,您可能想在诸如empty array of Pairs之类的东西上专门匹配。

相关内容

  • 没有找到相关文章

最新更新