pytest 参数化

news/2024/7/4 14:59:04
    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"]) == "成功"


http://www.niftyadmin.cn/n/3843821.html

相关文章

Linux 系统管理员安全指南

本文从系统管理员的角度讨论安全问题。系统管理员是管理系统的人:启动系统,停止系统运行,安装新软件,增加新用户,删除老用户,以及完成保持系统发展和运行的日常事务工作。 1.安全管理 安全管理主要分为四个…

跳跃游戏(力扣)贪心 JAVA

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums [2,3,1,1,4] 输出:true 解释:可以先跳 1 步…

如何将QQ音乐SQ品质FLAC格式转换成MP3音乐

相信腾讯公司旗下的QQ音乐大家都应该用过吧,QQ音乐客户端中有很多实用的功能,比如:可以将音乐传到手机上,可以制作铃声,可以自定义皮肤,还可以将音乐保存到腾讯微云中。当然,QQ音乐还可以设置音…

软件测试中的回归测试用例选择方法

回归测试就是修改完bug后对程序的新一轮测试,根据微软的统计,按照他们的经验,一般 开发人员解决3~4个bug会衍生出一个新的bug,这就是必须作回归测试的原因。 一般的软件测试流程是后期快速迭代的,bug在后期是快速收敛…

linux7.0内核升级

内核升级 在指定地址下载或者在线升级内核,要求新内核默认启动。 http://ldap.example.com/pub/kernel-3.10.0-123.1.2.el7.x86_64.rpm 最好使用命令: wget http://ldap.example.com/pub/kernel-3.10.0-123.1.2.el7.x86_64.rpm 注意:使用wget…

通过反射找到并执行方法

需求是通过传入方法的名字&#xff0c;执行该方法&#xff0c;所有的方法都是传入一个model参数&#xff0c;但model的类型不一样。 通过上网查资料&#xff0c;整理了一下&#xff0c;具体代码如下&#xff1a; /// <summary>/// 执行方法(方法类型需要是公共的)/// <…

001 内联函数

//透彻了解inlining的里里外外 //inline函数看起来像函数&#xff0c;行为像函数&#xff0c;比宏好得多&#xff0c;可以免除调用函数的开销。//过度使用inline函数&#xff0c;导致程序体积过大&#xff0c;代码膨胀导致额外的换页行为&#xff0c;降低指令高速缓存的击中率。…

兰州新区农村“三变”改革:近万农民“变身”企业工人

图为兰州新区现代农业示范园的温室大棚栽植的百合花。 魏建军 摄 图为兰州新区现代农业示范园的温室大棚栽植的百合花。 魏建军 摄 中新网兰州1月24日电(记者 魏建军)寒冬时节&#xff0c;兰州新区现代农业示范园的温室大棚里暖意融融。只身从永登古山乡来这里管理草莓大棚的王…