Hot*_*otN 4 testing kotlin mockk kotest
我正在尝试使用以下命令验证是否未调用函数:
verify {
managementService.deleteUser(any()) wasNot Called
}
Run Code Online (Sandbox Code Playgroud)
该验证失败并显示以下消息:
验证失败:第 1 个调用(共 1 个):未调用 ManagementService(#11).deleteUser(any()))。
如果我将验证反转为:
verify {
managementService.deleteUser(any())
}
Run Code Online (Sandbox Code Playgroud)
我仍然收到相同的失败消息。
ManagementService该通道上还有其他功能wasNot Called也很好。
为什么我的验证会失败wasNot Called,而错误消息显示失败是因为未调用它?为什么反转支票会产生相同的错误?
wasNot Called不用于验证是否未进行特定函数调用,而是用于验证从未调用过整个模拟,如下所示:
verify {
managementService wasNot Called
}
Run Code Online (Sandbox Code Playgroud)
如果您想验证是否deleteUser未使用任何参数进行调用,您可以验证该调用是否恰好发生了零次:
verify(exactly = 0) {
managementService.deleteUser(any())
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1351 次 |
| 最近记录: |