python
runtime_error
ai_generated
true
断言错误:期望 'mock.method' 被调用一次。实际被调用 2 次。
AssertionError: Expected 'mock.method' to have been called once. Called 2 times.
ID: python/unittest-mock-assert-call-order
80%修复率
88%置信度
0证据数
2025-04-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.9 | active | — | — | — |
| 3.10 | active | — | — | — |
根因分析
使用 assert_called_once 但 mock 方法被多次调用,可能由于代码逻辑或测试重复执行。
English
使用 assert_called_once 但 mock 方法被多次调用,可能由于代码逻辑或测试重复执行。
解决方案
-
90% 成功率
检查最后一次调用参数,`mock.method.assert_called_with(参数)`。
-
95% 成功率
`assert mock.method.call_count == 1` 更精确。
无效尝试
常见但无效的做法:
-
50% 失败
可能改变被测代码行为。
-
60% 失败
不验证调用次数,可能掩盖问题。