python type_error ai_generated true

断言错误:assert <Mock id='140123456789'> == 5

AssertionError: assert <Mock id='140123456789'> == 5

ID: python/pytest-assertion-rewrite-error

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

版本兼容性

版本状态引入弃用备注
7.4.0 active

根因分析

在断言中使用了 mock 对象而非实际返回值,导致比较失败。

English

在断言中使用了 mock 对象而非实际返回值,导致比较失败。

generic

解决方案

  1. 100% 成功率
    `mock_obj.return_value = 5` 然后断言 `mock_obj() == 5`。
  2. 90% 成功率
    `mock_obj.assert_called_once_with(参数)` 验证调用参数。

无效尝试

常见但无效的做法:

  1. 100% 失败

    mock 对象始终不等于任何值,除非配置了 return_value。

  2. 50% 失败

    如果调用参数不匹配,仍会失败,且不能验证返回值。