kotlin 检查调用和wasNot调用时模拟验证失败

btqmn9zl  于 2023-01-09  发布在  Kotlin
关注(0)|答案(1)|浏览(168)

我正在尝试验证是否未使用以下代码调用函数:

verify {
    managementService.deleteUser(any()) wasNot Called
}

验证失败,并显示以下消息:
验证失败:呼叫1/1:未调用管理服务(#11). deleteUser(任何()))。
如果我将验证转换为:

verify {
    managementService.deleteUser(any())
}

我仍然收到相同的失败消息。
ManagementService上还有其他函数可以很好地通过wasNot Called
为什么我对wasNot Called的验证会失败,而错误消息说失败是因为没有调用它?为什么反转检查会产生同样的错误?

myzjeezk

myzjeezk1#

wasNot Called不用于验证是否未进行特定函数调用,而是验证是否从未调用整个mock,如下所示:

verify {
    managementService wasNot Called
}

如果要验证deleteUser没有被任何参数调用,可以验证调用是否正好发生了零次:

verify(exactly = 0) {
    managementService.deleteUser(any())
}

相关问题