# 类型错误：test_func() 缺少1个必需的位置参数：'b'

- **ID:** `python/pytest-parametrize-arguments-count`
- **领域:** python
- **类别:** type_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

在 @pytest.mark.parametrize 中提供的参数数量与测试函数参数数量不一致。

## 版本兼容性

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

## 解决方案

1. **确保参数数量匹配** (98% 成功率)
   ```
   @pytest.mark.parametrize('a,b', [(1,2), (3,4)])
def test_func(a,b): pass
   ```
2. **使用单个元组参数** (90% 成功率)
   ```
   @pytest.mark.parametrize('args', [(1,2), (3,4)])
def test_func(args):
    a,b = args
   ```

## 无效尝试

- **使用 *args** — 尝试将测试函数参数改为 *args，但失去了类型检查 (60% 失败率)
- **提供错误格式** — 尝试在 parametrize 中只提供一个参数元组，但忘记解包 (70% 失败率)
