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

pytest之fixture结合conftest.py文件使用+断言实战

pytest之fixture结合conftest.py文件使用

  • conftest.py--存放固件
  • 固件的优先级
  • pytest执行流程
  • pytest之断言实战
  • pytest结合allure-pytest插件生成美观的报告

conftest.py–存放固件

在一个项目的测试中,大多数情况下会有多个类、模块、或者包要使用相同的测试夹具。这种情况下如果我们把测试夹具定义在某一个模块中则无法实现共享,针对这种情况,我们可以把需要共享的测试夹具放入一个单独的 conftest.py 文件中 ,这样多个可以实现多个测试模块共享了

#读取数据的方式
import pytestdef read_yaml():return ['chenglong','zhenzidan','caiyilin']
@pytest.fixture(scope="function",autouse=False,params=read_yaml(),ids=["c","z","l"],name='db')
def exe_database_sql(request):print(request.param)print("执行sql查询")yield request.paramprint("关闭数据库连接")

固件的优先级

夹具定义可以通过参数 scope 指定夹具的级别,如果不指定夹具级别,scope 默认值为 function(用例级别)
用例级别:scope = function
测试类型:scope = class
模块级别:scope = module
包级别: scope = package
会话级别:scope = session
fixture里面有个scope参数可以控制fixture的作用范围:session > module > class > function

pytest执行流程

1.查间当前目录下的conftest py.文件.
2查间当前目录下的pytest.ini文件.
3查闻用例目录下的conftest.py文件.
4查i间py文件中是含有setup.teardown.setup_class.teardown_cass
5.再根据pytest.ini文件的测试用例的规则去查找用例并执行,

pytest之断言实战

    def test_baili(self):print("测试百利老师")assert 1==1def test_tom(self):print("测试汤姆老师")assert 'a' in 'abc'

pytest结合allure-pytest插件生成美观的报告

  • dos窗口检查

在这里插入图片描述

  • pycharm终端检查
    在这里插入图片描述
  • 生成临时报告

在这里插入图片描述

  • 输出报告
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【LVGL-微调部件(lv_spinbox_create)】
  • 【物联网开源平台】tingsboard安装与编译
  • python 中判断文件、目录是否存在的方法
  • 阿里云部署OneApi
  • 关于分布式系统设计的个人看法和经验
  • 2024-03-27 作业
  • CPP容器vector和list,priority_queue定义比较器
  • 基于DWT(离散小波变换)的图像水印算法,Matlab实现
  • 低功耗、低成本 NAS 的可能性
  • Navicat 干货 | 探索 PostgreSQL 的外部数据包装器和统计函数
  • 江协STM32:点亮第一个LED灯和流水灯
  • AQS源码分析
  • vc_red.msi 错误
  • 3.1 SQL概述
  • c++红黑树
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 07.Android之多媒体问题
  • 2017届校招提前批面试回顾
  • JS题目及答案整理
  • maven工程打包jar以及java jar命令的classpath使用
  • Spring-boot 启动时碰到的错误
  • SSH 免密登录
  • Twitter赢在开放,三年创造奇迹
  • 关于List、List?、ListObject的区别
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • scrapy中间件源码分析及常用中间件大全
  • ​​​【收录 Hello 算法】9.4 小结
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # centos7下FFmpeg环境部署记录
  • #if 1...#endif
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #pragma once与条件编译
  • #大学#套接字
  • (4)STL算法之比较
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (多级缓存)缓存同步
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (论文阅读30/100)Convolutional Pose Machines
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)ObjectiveC 深浅拷贝学习
  • (转载)Linux网络编程入门
  • .form文件_SSM框架文件上传篇
  • .md即markdown文件的基本常用编写语法
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET开源、简单、实用的数据库文档生成工具
  • @Autowired和@Resource的区别
  • @Controller和@RestController的区别?
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略