zoukankan      html  css  js  c++  java
  • 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)]

      运行结果:

      

  • 相关阅读:
    5月29 流程
    5月27 权限设置及功能
    5月26 留言板练习题
    5月24 文件操作
    5月23 文件上传及图片上传预览
    5月23 注册审核
    5月21 回话控制SESSION COOKIE
    5月21 汽车查询及批量删除----php方法
    5月21 练习AJAX的查看详细及批量删除
    5月20 三级联动
  • 原文地址:https://www.cnblogs.com/xiaogongjin/p/11683547.html
Copyright © 2011-2022 走看看