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

pytest简单使用

一:Mark

1.注册标记

在项目根目录下创建固定名为 pytest.ini 的配置文件,文件格式需要加上 [pytest] ,然后通过 markers 注册自定义标记

2.贴上标记

通过@pytest加上装饰器,然后pytest.mark.XX配置自定义的标记,一个测试用例可以含有多个标记

3.筛选标记

pytest -m xx(自定义标记名称)  筛选单个标记执行

pytest -m "api or ui(自定义标记名称)"  筛选多个标记执行

二:fixture

自动的在用例执行前或执行后完成,用于测试环境的构建和销毁

1.设置fixture:

函数 fyt() 没有@pytest.fixture注解,则是python的生成器,有了@pytest.fixture注解,则是pytest的fixture

2.用例调用fixture:
方法1:在测试用例参数中加入fixture的方法名则可以调用

方法二:参数中没有fixture的方法名,但使用 @pytest.mark.usefixtures('fyt') 注解也能正常使用


结果:

优点:如果是python的函数生成器执行,执行方法报错则后置代码不执行,但是fixture即使报错了也会执行后置代码

3.fixture的作用范围:

五级作用范围,fixture可以调用fixture,但作用范围小的可以调用作用范围大的,反之不可

每个范围内的用例共享fixture

conftest.py 创建全局范围fixture,只需要吧fixture的代码放进文件中即可,用例代码不需要动

三.hook

当pytest在合适的时机,允许我们进入和退出pytest核心内部

目的:改变pytest原有的处理方式,运行模式

首先在 conftest.py 文件中添加钩子,钩子函数名字要使用pytest自带的钩子名,不然需要添加自定义钩子,

运行后发现该沟子的逻辑在用例执行前就先被执行了


http://www.kler.cn/a/386772.html

相关文章:

  • 【JavaScript】为 setInterval()定义变量,存储ID
  • 项目技术栈-解决方案-web3去中心化
  • ARM架构中断与异常向量表机制解析
  • 速盾:高防 CDN 和 CDN 的缓存机制都一样吗?
  • 数字孪生在智慧能源项目中的关键作用,你了解多少?
  • 【go从零单排】JSON序列化和反序列化
  • vue-svg-icon的安装和使用
  • Ubuntu 2004上迁移MySQL8.0的数据
  • 15分钟学 Go 第 44 天: 项目部署基础
  • 【Java学习笔记】13. I/O系统
  • 信号与噪声分析——第二节:随机变量的统计特征
  • Pr:视频效果使用详解(全集 · 2025版)
  • flutter鸿蒙next 使用 InheritedWidget 实现跨 Widget 传递状态
  • 【物联网技术】ESP8266 WIFI模块在AP模式下实现UDP与电脑/手机网络助手通信——UDP数据透传
  • 【数字图像处理】一篇搞定傅里叶变换
  • Git 入门篇(二)
  • Centos7安装Redis 远程连接
  • 【LeetCode】【算法】206. 反转链表
  • nodejs 020: React语法规则 props和state
  • 采用macvlan绕过某些软件需要MAC授权的问题
  • Mac电脑中隐藏文件(即以 . 开头的文件/文件夹)的显示和隐藏的两种方法
  • javascript实现sha512和sha384算法(支持微信小程序),可分多次计算
  • Cesium着色器的创意和方法(五——Polyline)
  • opencv保姆级讲解-guI和pymsql实现人脸识别打卡(6)
  • 【WebRTC】视频编码链路中各个类的简单分析——VideoEncoder
  • C++20 概念与约束(2)—— 初识概念与约束