Pytest 使用 @pytest.mark.parametrize 装饰器来实现数据驱动的
parametrize语法
parametrize ( argnames, argvalues, indirect=False, ids=None, scope=None)
argnames:参数名。
argvalues:参数对应值,类型必须为list,如果有多个参数,则需要用元组,列表,字典来存放值,一个元组对应一组参数的值
indirect:如果设置成True,则把传进来的参数当函数执行,而不是一个参数
ids:用例的ID,传一个字符串列表,用来标识每一个测试用例,自定义测试数据结果,增加可读性。
参数讲解
单个数据
import pytest data = ["小红", "小明"] @pytest.mark.parametrize("name",data) def test_demo(name): print("测试数据为{}".format(name))
结果