用例设计方法62 条

用例参数化

把用例中的输入、环境与账号抽成参数:同一逻辑覆盖多组数据与环境,减少重复用例并集中管理测试数据。

软件测试速查开发更新于 2026-10-12

pytest 参数化

pytest 参数化
import pytest
@pytest.mark.parametrize('amount,expected', [
    (1, True), (99, True), (0, False), (100, False),
])
def test_withdraw(amount, expected):
    assert can_withdraw(amount) is expected
参数组合要显式列出测试意图:给每组关键数据加注释或命名,评审更直观。

易错点

  • 参数列表与断言逻辑不匹配,出现假通过
  • 参数组过多且无命名,失败报告难以定位是哪组数据

数据来源与参考

  • pytest 官方文档(Parametrize)
  • JUnit 5 User Guide(Parameterized Tests)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌