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

其他格式: JSON · Markdown 中文 · English
80%修复率
88%置信度
0证据数
2025-04-01首次发现

版本兼容性

版本状态引入弃用备注
3.9 active
3.10 active

根因分析

使用 assert_called_once 但 mock 方法被多次调用,可能由于代码逻辑或测试重复执行。

English

使用 assert_called_once 但 mock 方法被多次调用,可能由于代码逻辑或测试重复执行。

generic

解决方案

  1. 90% 成功率
    检查最后一次调用参数,`mock.method.assert_called_with(参数)`。
  2. 95% 成功率
    `assert mock.method.call_count == 1` 更精确。

无效尝试

常见但无效的做法:

  1. 50% 失败

    可能改变被测代码行为。

  2. 60% 失败

    不验证调用次数,可能掩盖问题。