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