• pytest系列之参数化


    1.parametrize()实现数据驱动

    1.1 方法参数详解

    @pytest.mark.parametrize(arg_name, arg_value)

    arg_name:参数名称,用于将参数值传递给测试用例

    arg_value:参数值(支持列表、字典列表、元组和字典元组),有n个值,那么测试用例就将执行n次

    1.2用法详解

    1.2.1 直接传值

    1. @pytest.mark.parametrize("module_list", ["商品搜索", "商品详情", "购物车"])
    2. def test_interface_01(self, module_list):
    3.   print(f'第一个{module_list}模块接口测试用例')

    1.2.2 解包传值

    1. @pytest.mark.parametrize("arg1,arg2", [["name", "tom"], ["age", 23]])
    2. def test_interface_01(self, arg1,arg2):
    3.   print(f'第一个{str(arg1)+":"+str(arg2)}模块接口测试用例')

    2.yaml格式的测试用例

    yaml是一种数据格式,扩展名可以是yaml.yml,支持#注释,通过缩进表示层级,区分大小写、

    yaml读取出来之后是一个字典列表

    用途:

    用于做配置文件

    用于编写自动化测试用例

    数组组成

    1.map对象:键值对(键和值之间有空格)

    name: Tom
    

    2.数组(list):使用‘-’表示列表

    1. books:
    2. - book1:
    3.   - price: 34
    4. - book2: 平凡的世界
    5. - book3: 十日谈

    3.测试用例执行状态

    测试用例执行完成后,每个测试用例都有自己的状态,常见的状态有:

    passed:测试用例通过 error:断言失败 failed:用例本身代码报错(例如:fixture不存在,fixture里有报错) xfail:预期失败,加了@pytest.mark.xfail();代码有异常,且和raised的异常类匹配,所以是xfail(算测试通过的一种,表示符合期望捕捉到的异常),并不算failed;如果和raised的异常类不匹配,则是failed

    测试用例的代码有异常,包括主动抛出异常或者代码有异常,都算failed 当测试用例调用的fixture有异常,或传入的参数有异常的时候,都算error 如果一份测试报告中,error的测试用例数量越多,说明测试用例质量越差

  • 相关阅读:
    Go 并发编程 - Goroutine 基础 (一)
    【Spring进阶系列丨最终篇】一文详解Spring中的事务控制
    php 二维数组去重
    Linux基本命令(RHCSA)超详解
    golang中给数据库datetime格式赋值
    群辉 Synology NAS Docker 安装 RustDesk-server 自建服务器只要一个容器
    微服务环境搭建
    .net 使用Docker开发
    1.4 Financial Disasters
    【C++】模板初阶,了解函数模板和类模板的使用&&一些可能出现的问题
  • 原文地址:https://blog.csdn.net/m0_68405758/article/details/125490815