参数化装饰器:@pytest.mark.parametrize("参数", 参数列表, ids=用例命名)
import pytest import yaml # 单个参数 @pytest.mark.parametrize('num', [1, 2, 3, 4, 5]) def test_serch(num): print(num) # 多参数 @pytest.mark.parametrize("num1,num2,num3", [(3, 2, 1), (11, 5, 6)]) def test_add(num1, num2, num3): assert num1 == num2 + num3 # 笛卡尔积 @pytest.mark.parametrize("a", ["1", "2"]) @pytest.mark.parametrize("b", ["a", "b"]) def test_di(a, b): print(a + "" + b) # 重命名,注:ids命名数需要与case数一致 @pytest.mark.parametrize("a", ["1", "2"], ids=["aaa", "bbb"]) def test_name(a): print(a) # 读取yaml文件中的参数 @pytest.mark.parametrize("a", yaml.safe_load(open("./data.yml"))) def test_yaml(a): print(a) if __name__ == '__main__': pass