1. parametrize单参数:
import pytest
# 单参数单次循环
@pytest.mark.parametrize("a", ["b"])
def test_parametrize(a):
print("a: " + b) # 输出数组值 a: b
如果数组里有个值,就相当于一个for循环,每次执行都会把数组的值进行赋值给变量,每赋值一次,运行一次用例。
# 单参数多次循环
@pytest.mark.parametrize("name", ["a", "b", "c"])
def test_parametrize(name):
print("name:" + name) # name: a; name: b; name: c
2. parametrize多参数:
@pytest.mark.parametrize("name, id", [("a", "1"), ("b", "2")]) # 元组也可以改成数组
def test_parametrize(name, id):
print(name, id)
要注意多参数时,必须要通过嵌套数组或元组赋值跟参数对应才可以。
3. parametrize参数为字典
@pytest.mark.parametrize("student", [{"name": "stu1", "age": "12"}, {"name": "stu2", "age": "11"}])
def test_parametrize(student):
print(student["name"], student["age"])