pytest框架之parametries数据驱动参数化
在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据)
参数名:用来接收每一项数据,并作为测试用例的参数
列表参数:一组测试数据(元组、列表、字典)
方式一:
@pytest.mark.parametrize('参数', [数据1, 数据2, 数据3......])
import pytest @pytest.mark.parametrize('demo', [1, 2, 3, 4]) def test_demo(demo): print(f'测试数据为:{demo}') assert demo in [0, 1, 2, 3, 4, 5]
运行结果:
方式二:
@pytest.mark.parametrize('参数1 参数2', [(数据1, 数据2), (数据3, 数据4), (数据5, 数据6),......])
import pytest @pytest.mark.parametrize('demo1, demo2', [(1, 2), (3, 4)]) def test_demo(demo1, demo2): print(f'测试数据为:{demo1}和{demo2}') assert demo1, demo2 in [(1, 2), (3, 4), (5, 6)]
运行结果:
方式三(笛卡尔积):
使用多个@pytest.mark.parametrize
import pytest @pytest.mark.parametrize('demo1', [1, 2]) @pytest.mark.parametrize('demo2', [3, 4]) def test_demo(demo1, demo2): print(f'测试数据为:{demo1}和{demo2}') assert (demo1, demo2) in [(1, 3), (1, 4), (2, 3), (2, 4), (5, 6)]
运行结果:
作者:小公瑾
-------------------------------------------
个性签名:不忘初心,方得始终!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!