pytest 参数化

    import pytest
    test_datas = [
        (11, 22, 33),
        (22, 33, 55)
    ]

    datas_dict = [
        {"a": 1, "b": 2, "c": 3},
        {"a": 11, "b": 22, "c": 33},
        {"a": 111, "b": 222, "c": 333},
    ]

    # 方式一:直接写
    @pytest.mark.parametrize("a, b, c", [(1, 2, 3), (4, 5, 9)])
    def test_add01(a, b, c):
        res = a + b
        assert res == c

    # 方式二:参数为列表中嵌套元组
    @pytest.mark.parametrize("data", test_datas)
    def test_add02(data):
        res = data[0] + data[1]
        assert res == data[2]

    # 方式三:参数为列表中嵌套字典
    @pytest.mark.parametrize("data", datas_dict)
    def test_add03(data):
        res = data["a"] + data["b"]
        assert res == data["c"]

常用举例:

```python
    @pytest.mark.parametrize(test_input,expected,[
        ({"a": 1, "b": 2, "c": 3},200),
        ({"a": 11, "b": 22, "c": 33},200),
        ({"a": 111, "b": 222, "c": 333},200)
    ])
    def test_YiDongDuanYanZhengMaDengLu_001(self,test_input,expected):
        """移动端验证码登录"""
        r = self.obj.post_app(row=2, data=test_input)
        print("移动端验证码登录 is:", r.text)
        self.log.info("获取请求结果:%s" % r.text)
        assert r.status_code == expected
        assert str(r.json()["msg"]) == "成功"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值