美文网首页
parametries数据驱动参数化

parametries数据驱动参数化

作者: 阿登20 | 来源:发表于2021-04-29 22:51 被阅读0次

    在测试用例的前面加上:@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]
    
    image.png

    方式二:

    @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)]
    
    image.png

    方式三(笛卡尔积):

    使用多个@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)]
    
    image.png image.png

    相关文章

      网友评论

          本文标题:parametries数据驱动参数化

          本文链接:https://www.haomeiwen.com/subject/sknyrltx.html