0

在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 个参数组合)。

4

0 回答 0