在python中开发参数化单元测试时,是否可以根据另一个参数更改一个参数的值
@pytest.mark.parametrize("paramX", ["A", "B"])
@pytest.mark.parametrize(
"param1,param2,param3",
[
(
Exception("TEST"),
False,
textwrap.dedent(
f"""\ Some Comment {dynamicValue}"""
),
)
..// similar such parameter combinations
]
测试:
def test_class_method(
para1: Optional[Exception],
param2: bool,
param3: str,
paramX: bool,
) -> None:
// str result = class_method(...)
assert that result = param3
我希望定义为 param3 的字符串根据 paramX 中的值而有所不同。
如果 paramX = "A",dynamicValue 应替换为Hello
如果 paramX = "B",dynamicValue 应替换为World
我有 10 个这样的参数组合。我不希望复制所有 10 个参数来测试 param3 的每个变体(基本上定义了 20 个参数组合)。