# 断言错误：assert {'a': 1, 'b': 2} == {'b': 2, 'a': 1}

- **ID:** `python/pytest-assert-dict-equality`
- **领域:** python
- **类别:** runtime_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

字典比较看似相同但顺序不同，pytest 的断言重写可能因顺序导致误报，但实际字典相等。

## 版本兼容性

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

## 解决方案

1. **** (100% 成功率)
   ```
   Python 字典相等性不依赖顺序，`assert dict1 == dict2` 应该通过，检查是否有其他差异。
   ```
2. **** (90% 成功率)
   ```
   如果值包含浮点数，使用 `assert actual == pytest.approx(expected)`。
   ```

## 无效尝试

- **** — 字典无法排序，且不必要。 (80% 失败率)
- **** — 如果字典顺序影响某些逻辑，可能掩盖问题。 (50% 失败率)
