当前位置: 首页 > news >正文

Pytest项目_day14(参数化、数据驱动)

parametrize

  • 参数化可以组装测试数据。在测试前定义好测试数据,并在测试用例中使用

单参数单次循环

  • 我们可以在装饰器中使用mark.parametrize,来定义参数名和参数值列表
    • 参数名还需要传给函数
    • 参数名需要用字符串来定义,参数值列表需要用可迭代对象来定义
    • 如果我们只定义了一个参数名,并且只有一个参数值元素,那么只会将该元素赋值给参数名后,执行一次该测试用例
      在这里插入图片描述

单参数多次循环

  • 如果我们的参数值列表有多个元素,那么pytest会依次将列表中的每一个元素都赋值给参数,同时执行一次测试用例
    在这里插入图片描述

多参数多次循环

  • 我们可以定义多个参数名,并设置对应的多个参数值列表
    • 每个参数名都需要传给函数
    • 注意参数值列表中的每个元素也需要是可迭代对象,比如我们可以使用元组,列表等
      在这里插入图片描述
      在这里插入图片描述
  • 参数值列表的对象还可以使用字典来定义
  • 注意:我们需要用字典中访问value的方式,即["key"]来访问value
    在这里插入图片描述
  • 当我们的参数值列表中的元素为字典时,那么我们赋值给参数名的时字典对象,因此可以有多个key值
    在这里插入图片描述
http://www.dtcms.com/a/329158.html

相关文章:

  • duiLib 利用布局文件显示一个窗口并响应事件
  • C语言零基础第15讲:字符函数和字符串函数
  • ThinkPHP+Mysql 灵活用工小程序-技术深度解析与实践指南
  • 对线面试官之幂等和去重
  • 数据结构:用数组实现队列(Implementing Queue Using Array)
  • vue修改element的css属性
  • Docker端口映射完全指南:打通容器内外通信的关键技术
  • 如何把ubuntu 22.04下安装的mysql 8 的 数据目录迁移到另一个磁盘目录
  • 从“存得对”到“存得准”:MySQL 数据类型与约束全景指南
  • MySQL中的缓存机制
  • 浅谈TLS 混合密钥交换:后量子迁移过渡方案
  • openMVG---安装openMVG
  • C++主流string的使用
  • Linux内核的递归熵与异步系统守护进程的耦合解
  • 【类与对象(下)】探秘C++构造函数初始化列表
  • ROS机器人云实践案例设计
  • Git核心机制:工作区、暂存区与版本库
  • PG靶机 - Pelican
  • 【龙泽科技】汽车故障诊断仿真教学软件【科鲁兹】
  • (vue)el-table动态合并最后一行且内容靠左
  • CSS 多列布局(Multi-column Layout):快速上手指南
  • 基于UniApp的智能在线客服系统前端设计与实现
  • AI驱动的前端革命:10项颠覆性技术如何在LibreChat中融为一体
  • 3.9开发前端常用的几个工具(nvm,json-server,nrm)
  • vue实现模拟 ai 对话功能
  • C++QT HTTP与HTTPS的使用方式
  • Vue3从入门到精通:4.1 Vue Router 4深度解析与实战应用
  • 当GitHub宕机时,我们如何保持高效协作?分布式策略与应急方案详解
  • 将C#/.net项目附加到进程中
  • mac下载maven并配置,以及idea配置