# 断言错误：断言 4 等于 5，且 4 来自 lambda 函数

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

## 根因

pytest 在捕获断言时，错误地显示了 lambda 函数的内部表示，导致调试信息混乱，实际是逻辑错误

## 版本兼容性

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

## 解决方案

1. **** (90% 成功率)
   ```
   检查函数实际返回值，修正断言条件。例如：assert calculate_sum(2,2) == 4
   ```
2. **** (70% 成功率)
   ```
   对于浮点数比较，使用 assert result == pytest.approx(5.0)
   ```

## 无效尝试

- **** — 根本问题不在 lambda，而是断言逻辑本身错误，修改函数形式不能修复 (30% 失败率)
- **** — 只是隐藏了错误信息，没有解决断言失败的本质 (80% 失败率)
