我在Kotlin(Android(中使用mockk进行单元测试。
我想验证是否调用了一个函数:
verify { obj.callSomething("param1", Param2("A", "B")) }
在这种情况下,Param2
是一个生成的 Java 类,它不会覆盖equals
方法,因此验证始终失败。
我尝试使用match
但失败消息根本没有帮助。
verify { obj.callSomething("param1", match { it.a == "A" && it.b == "B" }) }
有没有更好或正确的方法来做到这一点?
您可以使用
withArg
对验证调用中的参数运行断言和其他任意代码。使用assertEquals
将为您提供更好的错误消息。
verify {
obj.callSomething("param1", withArg {
assertEquals("A", it.a)
assertEquals("B, it.b)
})
}