zoukankan      html  css  js  c++  java
  • pytest参数化处理;使用参数化装饰器、解析列表、元组、字典等数据

    pytest参数化处理

    在pytest中,可以使用参数化测试,即每组参数都独立执行一次测试

    使用的工具就是pytest.mark.parametrize(argnames,argvalues)

    import pytest
    #l列表
    date=['123','456']
    
    @pytest.mark.parametrize('pwd',date)
    def test1(pwd):
        print(pwd)
    
    #元组
    
    data2=[(1,2,3),(4,5,6)]
    @pytest.mark.parametrize('a,b,c',data2)
    def test2(a,b,c):
        print(a,b,c)
    
    #字典
    data3 =(
        {
            'user':1,
            'pwd':2
        },
        {
            'age':3,
            'email':'yang@qq.com'
        }
    )
    
    @pytest.mark.parametrize('dic',data3)
    def test3(dic):
        print(dic)
    
    data_1 =[
        pytest.param(1,2,3,id="(a+b):pass"), #id的值可以自定义,只要方便理解每个用例是干什么的即可
        pytest.param(4,5,10,id="(a+b):fail")
    ]
    
    def add(a,b):
        return a+b
    class TestParametrize(object):
        @pytest.mark.parametrize('a,b,expect',data_1)
        def test_1(self,a,b,expect):
            assert add(a,b) == expect
  • 相关阅读:
    iOS input disabled显示不清楚
    钉钉小程序——JSAPI
    留言板
    友链
    mysql---存储引擎
    union与limit
    spring--setter注入
    spring---生命周期
    sql03-连接查询
    sql01--认识表
  • 原文地址:https://www.cnblogs.com/yronl/p/14463718.html
Copyright © 2011-2022 走看看