首页 > 其他分享 >pytest + yaml 框架 -46.支持模块级别和用例级别参数化

pytest + yaml 框架 -46.支持模块级别和用例级别参数化

时间:2023-07-04 22:57:29浏览次数:42  
标签:name 46 a1 用例 PASSED test 级别 yml

前言

parameters 功能做了优化,支持模块级别和用例级别参数化

  • config 中 parameters 参数化,作用域是整个模块级别
  • 用例中 parameters 参数化,作用域只针对单个用例

v1.3.7 版本优化此功能

模块级别参数化

config 中 parameters 参数化,作用域是整个模块级别, test_a.yaml 文件示例

config:
  fixtures: user
  parameters: [a, b]

test_1:
  name: 用例1
  print: "1-${user}"


test_2:
  name: 用例2
  print: "2- ${user}"

执行用例

pytest test_a.yml -v -s

运行结果

collected 4 items                                                                                                       

a1/test_a1.yml::test_1[a] 1-a
PASSED
a1/test_a1.yml::test_2[a] 2- a
PASSED
a1/test_a1.yml::test_1[b] 1-b
PASSED
a1/test_a1.yml::test_2[b] 2- b
PASSED

============ 4 passed in 0.38s ===================

从运行结果可以看出,一个yaml 文件中有多个用例时,config 中参数化作用域是模块级别,执行用例顺序是:test_1[a]-test_2[a]-test_1[b]-test_2[b]

用例级别参数化

对单个用例参数化示例test_b.yml

config:
   name: demo

test_1:
  name: 用例1
  fixtures: user
  parameters: [a, b]
  print: "1-${user}"


test_2:
  name: 用例2
  print: "2- ${user}"

执行用例

pytest test_b.yml -v -s

运行结果

collected 3 items                                                                                                       

a1/test_a1.yml::test_1[a] 1-a
PASSED
a1/test_a1.yml::test_1[b] 1-b
PASSED
a1/test_a1.yml::test_2 2- b
PASSED

=================== 3 passed in 0.35s ===================

config 和 用例同时参数化

config:
   name: demo
   fixtures: user
   parameters: [a, b]

test_1:
  name: 用例1
  fixtures: name
  parameters: [c, d]
  print: "1-${user}-${name}"

test_2:
  name: 用例2
  print: "2- ${user}"

执行结果

collected 6 items                                                                                                       

a1/test_a1.yml::test_1[a-c] 1-a-c
PASSED
a1/test_a1.yml::test_2[a] 2- a
PASSED
a1/test_a1.yml::test_1[a-d] 1-a-d
PASSED
a1/test_a1.yml::test_2[b] 2- b
PASSED
a1/test_a1.yml::test_1[b-c] 1-b-c
PASSED
a1/test_a1.yml::test_1[b-d] 1-b-d
PASSED

========6 passed in 0.37s ==========

网易云完整视频课程https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338

标签:name,46,a1,用例,PASSED,test,级别,yml
From: https://www.cnblogs.com/yoyoketang/p/17527282.html

相关文章

  • 946. 验证栈序列
    1.题目读题 考查点 2.解法思路思路:遍历pushed数组,将元素入栈,然后判断栈顶元素是否与popped数组中的元素相同,如果相同,就出栈,并移动popped数组的指针,否则继续入栈。最后判断栈是否为空,如果为空,返回true,否则返回false。  代码逻辑具体实现publicboolean......
  • 面试常问集锦——MySQL部分数据库的隔离级别
    聚集索引与非聚集索引的区别https://zhuanlan.zhihu.com/p/113917726Myisam引擎采用非聚集索引,索引与数据分开,叶子结点存放数据的地址。Innodb采用聚集索引,主键索引树的叶子结点存放真实数据,非主键索引树的叶子结点存放主键值索引底层的实现,为什么不选红黑树、B树等?总结(1)哈希表 ......
  • (Leetcode)746
    //方式一:第一步不支付费用classSolution{publicintminCostClimbingStairs(int[]cost){intlen=cost.length;int[]dp=newint[len+1];//从下标为0或下标为1的台阶开始,因此支付费用为0dp[0]=0;dp[1]=0;......
  • ASL芯片CS5466方案设计|集睿致远CS5466代理商|Type-c转HDMI电路原理
    CS5466作为ASL集睿致远新推出的高性能Type-CtoHDMI2.1协议转换器,可以通过HDMI输出端口作为TMDS或FRL发射机进行操作。CS5466适配于多个配件市场和现实应用主板,例如:主板,显示端口,扩展坞等。CS5266还配备了最高级别的HDCP嵌入式秘钥,能够安全传输受保护的内容,作为集睿致远ASL的一......
  • 【CF1146F】Leaf Partition
    这个题还是蛮有趣的,其实弄清楚这个染色的方案,这个题还是简单的。本质上只是对于考虑对于连通块染色,但是带有一些限制。所以我们考虑在LCA上拼接若干条根到叶子的路径。那我们就可以依据这一想法来设计状态。第一是这个点没有染色,那我们记这一状态为\(h\)。第二是这个点连......
  • LeetCode-146-LRU缓存
    146题:LRU缓存题目请你设计并实现一个满足 LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量 capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intke......
  • Android信任证书,把用户级别放入系统级别
    三、操作步骤1、在Windows安装openssl,用来把证书转成.pem 格式1)下载和安装下载其他人做的便捷版安装包:http://slproweb.com/products/Win32OpenSSL.html    2)配置path环境变量   2、把证书转成.pem 格式(如果本身就是这个格式就不转了)......
  • PostgreSQL技术大讲堂 - 第20讲:事务概述与隔离级别
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。第20讲:事务概述与隔离级别内容1:ACID四大特性内容2:PostgreSQL......
  • uva 465(高精度)
    题目:Writeaprogramthatreadsanexpressionconsistingoftwonon-negativeintegerandanoperator.Determineifeitherintegerortheresultoftheexpressionistoolargetoberepresentedasa``normal''signedinteger(typeintegerifyouar......
  • P4630 [APIO2018] 铁人两项 题解
    一、题目描述:给你一个$n$个点,$m$条边的无向图。图不一定联通求出点对$(u,c,v)$的数量,使得点$u$存在一条经过点$c$到达点$v$的无向图。数据范围:$1\len\le1\times10^5,1\lem\le2\times10^5$ 二、解题思路:算是圆方树比较模板的题了......