Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何比较或验证不重写equals方法的对象?_Android_Kotlin_Mockk - Fatal编程技术网

Android 如何比较或验证不重写equals方法的对象?

Android 如何比较或验证不重写equals方法的对象?,android,kotlin,mockk,Android,Kotlin,Mockk,我在Kotlin(Android)中使用mockk进行单元测试 我想验证是否调用了函数: verify { obj.callSomething("param1", Param2("A", "B")) } 在这种情况下,Param2是一个生成的Java类,它不会覆盖equals方法,因此验证总是失败的 我尝试使用匹配,但失败消息根本没有帮助 verify { obj.callSomething("param1", match { it.a == "A" && it

我在Kotlin(Android)中使用mockk进行单元测试

我想验证是否调用了函数:

    verify { obj.callSomething("param1", Param2("A", "B")) }
在这种情况下,
Param2
是一个生成的Java类,它不会覆盖
equals
方法,因此验证总是失败的

我尝试使用
匹配
,但失败消息根本没有帮助

    verify { obj.callSomething("param1", match { it.a == "A" && it.b == "B" }) }

有更好或正确的方法吗?

您可以使用
with arg
对verify调用中的参数运行断言和其他任意代码。使用
assertEquals
将为您提供更好的错误消息

verify {
  obj.callSomething("param1", withArg {
    assertEquals("A", it.a)
    assertEquals("B, it.b)
  })
}