python fixture_python自动化测试学习-Pytest中fixture的作用范围

本文章主要总结fixture的参数scope,通过它可以指定fixture的作用范围。scope的参数主要应用于控制fixture执行配置和销毁逻辑的频率。在scope的参数中主要有四个值可以选择,分别是function(函数级别),class(类级别).module(模块级别),session(会话级别),它的默认值是函数级别。下面依据各个案例来说明该参数的实际应用。

先来看函数级别,也就是说函数级别中,每个测试函数只需要执行一次,配置代码在测试用例运行前执行,销毁代码是在测试用例运行之后执行。见案例代码:

该fixture仅仅是函数级别的应用,不会应用于其他的方面,见执行后的结果信息:

下来看类级别的,类级别的主要指的是每个测试类需要运行一次,无论测试类里面有多少个测试方法,都会被执行到并且共享fixture,见案例代码:

见执行后的结果信息:

来来看模块级别的,在模块级别的fixture每个模块只需要执行一次,无论模块里面有多少个测试函数,类方法,都可以共享这个fixture,见案例代码:

见执行后的输出信息:

是否存在这样的一个疑问,函数级别的是否可以应用在类级别,类级别的是否可以应用于函数级别了,见测试代码:

见输出的信息:

最后一个是会话级别的,会话级别的fixture每次会话只需要运行一次,一次pytest会话中的所有测试函数,方法都可以共享该fixture,见案例代码:

见测试的代码:

见执行后输出的结果信息:

在pytest中也可以使用userfixture指定多个fixture,这样来标记测试函数或者测试的类,使用usefixture,需要在一个参数中指定一个或者多个fixture字符串,这样的一个场景在特定的场景下还是可以的,见案例的测试代码:

见执行后输出的信息:

在如上的结果信息中,就可以看到,测试函数共享了两个fixture。

在前面使用fixture的时候说到了autouse的选项,也应该看到,如果不使用该选项,每次共享fixture都需要指定,但是使用了它后就不需要指定了,那么标准的说法应该是:依据选项autouse=True,使作用域内的测试函数都执行该fixture,这与那些需要多次执行,但不依赖任何的状态或者外部数据的代码配合的比较好。针对如上的代码修改,见修改后的源码:

见执行后输出的结果信息:

Original: https://blog.csdn.net/weixin_31682257/article/details/112933120
Author: melonsyk
Title: python fixture_python自动化测试学习-Pytest中fixture的作用范围

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/776249/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • conda安装geopandas两种方法

    前情提要 最近在公众号上看到一些基于geopandas的地图制作方法,使用了geopandas,可是这个包和gdal一样难装,装好之后还出现好几个问题,留下这篇帖子给自己还有需要的…

    Python 2023年9月8日
    038
  • 服务架构的演变与SpringCloud

    CSDN话题挑战赛第2期参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐…

    Python 2023年9月28日
    028
  • Django Web 项目在Linux环境的部署——笔记

    环境介绍: 系统:CentOS 8 64位 工具:Nginx + uWSGI 语言:python 框架:Django 数据库:Mysql 本文记录下所有部署用到的软件均使用源码Ta…

    Python 2023年8月5日
    049
  • matplotlib之pyplot模块——绘制小提琴图violinplot()

    当前有效 matplotlib版本为: 3.4.1。 概述 violinplot()函数的作用是绘制小提琴图。 小提琴图和箱形图有点类似,它也可以显示四分位数(quartile)。…

    Python 2023年9月3日
    043
  • conda安装torch遇坑

    注意,现在torch版本v1.11暂时不支持算力sm86的GPU,如NVIDIA RTX3090,需要降级安装其他版本。否则报错: CUDA error: no kernel im…

    Python 2023年9月7日
    031
  • 02 pandas入门

    目录 1. pandas数据结构介绍 1.1 Series 1.2 DataFrame 1.3 索引对象 2. 基本功能 2.1 重建索引 2.2 轴向上删除条目 2.3 索引、选…

    Python 2023年8月27日
    044
  • 爬虫验证码识别免费开源版(5行代码解决)

    背景 爬取数据的过程中难免遇到登录的问题,为了绕过登录,保存cookie是常见的的解决方法.在遇到有验证码的问题时,无疑增加了获取cookie的难度.该python包,解决你的实际…

    Python 2023年5月24日
    084
  • Allure的简单使用

    Allure的简单使用 1.Allure简介 简单的理解下,可以把Allure当成一个用于生成美观测试报告的开源工具,配合Pytest测试框架使用更佳。 也就是说,Allure是在…

    Python 2023年11月2日
    051
  • python 花式索引

    花式索引的定义 花式索引(Fancy indexing)是指利用整数数组进行索引,这里的整数数组可以是Numpy数组也可以是Python中列表、元组等可迭代类型。 一维数组的花式索…

    Python 2023年8月29日
    035
  • Python编程 圣诞树教程 (附代码)程序员的浪漫

    作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 *个人主页:网络豆的主页​​​​​​ 目录 前言 一.python 做圣诞树…

    Python 2023年11月5日
    035
  • 插件的执行方法失败_第六节,pytest用例高级使用方法(下)

    五,pytest框架的重复执行 1,安装插件—pytest-repeat 在执行用例时,可以借助插件来指定用例执行的次数; pip install pytest-rep…

    Python 2023年9月14日
    043
  • 周赛328总结

    周赛328总结 第三题思路正确,但是但是卡在了返回结果用了int变量…很是无语二维前缀和二维差分get 数组元素和与数字和的绝对差【LC2535】 给你一个正整数数组 …

    Python 2023年11月5日
    035
  • 15分钟带你入门Pandas

    Pandas的Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。 Series 由索引(index)和列组成,函数如下: pandas.Ser…

    Python 2023年8月22日
    031
  • TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下

    💡 作者:韩信子@ShowMeAI📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42📘 本文地址:https://www.showm…

    Python 2023年10月28日
    041
  • 【2022】保姆级Anaconda安装与换国内源教程

    一、Anaconda的安装 由于Anaconda官网在境外,为了提升下载速度,我们选择从北京外国语大学镜像站下载Anaconda的安装包。 截止到写作时,Anaconda3最新版本…

    Python 2023年8月1日
    084
  • 如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?

    种子点功能连接方法基本概念和实现 种子点的功能连接基本概念 功能连接在数据处理里的具体应用 如何使用 Dpabi, AFNI 和 FSL 计算种子点功能连接呢? * 选择种子点 利…

    Python 2023年10月8日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球