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

- **ID:** `python/pytest-assertion-rewrite-error`
- **领域:** python
- **类别:** type_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

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

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 7.4.0 | active | — | — |

## 解决方案

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

## 无效尝试

- **** — mock 对象始终不等于任何值，除非配置了 return_value。 (100% 失败率)
- **** — 如果调用参数不匹配，仍会失败，且不能验证返回值。 (50% 失败率)
