提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我会用代码说话。
@Test
fun test() {
data class Activity(
val type: String,
val ts: Instant,
)
fun persistActivity(a: Activity): Unit = mockk()
fun createActivity(type: String) {
persistActivity(Activity(type, Instant.now()))
}
every { persistActivity(any()) } just Runs
createActivity("foo")
verify {
persistActivity(Activity("foo", any()))
}
}
然而,这失败了
Failed matching mocking signature for
left matchers: [any()]
io.mockk.MockKException: Failed matching mocking signature for
left matchers: [any()]
如何验证persistActivity()
是否传递了数据 class 对其某些字段有松散的约束? 我可以在不使用繁琐的match {}
function 的情况下实现这一点吗?
persistActivity
function 没有被模拟,所以验证肯定会失败。 如果它被正确地模拟了,你可以使用match
进行部分验证:
verify { persistActivity(match { it.type == "foo" }) }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.