python
type_error
ai_generated
true
断言错误:assert <Mock id='140123456789'> == 5
AssertionError: assert <Mock id='140123456789'> == 5
ID: python/pytest-assertion-rewrite-error
80%修复率
90%置信度
0证据数
2024-04-18首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 7.4.0 | active | — | — | — |
根因分析
在断言中使用了 mock 对象而非实际返回值,导致比较失败。
English
在断言中使用了 mock 对象而非实际返回值,导致比较失败。
解决方案
-
100% 成功率
`mock_obj.return_value = 5` 然后断言 `mock_obj() == 5`。
-
90% 成功率
`mock_obj.assert_called_once_with(参数)` 验证调用参数。
无效尝试
常见但无效的做法:
-
100% 失败
mock 对象始终不等于任何值,除非配置了 return_value。
-
50% 失败
如果调用参数不匹配,仍会失败,且不能验证返回值。