python
type_error
ai_generated
true
值错误:为 2 个参数 ('a', 'b') 提供了 3 个参数
ValueError: got 3 arguments for 2 parameters: ('a', 'b')
ID: python/pytest-mark-parametrize-argument-count
80%修复率
90%置信度
0证据数
2024-12-02首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 7.4.0 | active | — | — | — |
根因分析
在 parametrize 中提供的参数数量与测试函数参数数量不匹配。
English
在 parametrize 中提供的参数数量与测试函数参数数量不匹配。
解决方案
-
100% 成功率
确保参数数量一致,如 `@pytest.mark.parametrize('a,b', [(1,2), (3,4)])`。 -
90% 成功率
`@pytest.mark.parametrize('a,b', [{'a':1, 'b':2}])` 更清晰。
无效尝试
常见但无效的做法:
-
50% 失败
可能破坏测试逻辑,且需要同步修改 parametrize。
-
100% 失败
pytest 不会忽略,直接报错。