15、pytest的fixture调用fixture

官方实例

# content of test_append.py
import pytest# Arrange
@pytest.fixture
def first_entry():return "a"# Arrange
@pytest.fixture
def order(first_entry):return [first_entry]def test_string(order):# Actorder.append("b")# Assertassert order == ['a','b']
# content of test_reuse_fixture.py
import pytest# Arrange
@pytest.fixture
def first_entry():return "a"# Arrange
@pytest.fixture()
def order(first_entry):return [first_entry]def test_string(order):# Actorder.append("b")# Assertassert order == ["a","b"]def test_int(order):# Actorder.append(2)# Assertassert order == ["a",2]

解读与实操

pytest最大的优势之一是其极其灵活的fixture系统。它允许我们将复杂的测试需求简化成更简单和有组织的功能,我们只需要让每个功能描述它们所依赖的东西。

在这里插入图片描述

pytest的fixture系统如此强大的原因之一是,它使我们能够定义一个可以反复重用的通用步骤,就像使用普通函数一样。两个不同的测试可以请求相同的fixture,并让pytest从该fixture为每个测试提供各自的结果。

这对于确保测试不受彼此影响非常有用。我们可以使用这个系统来确保每个测试都获得自己的新一批数据,并且从一个干净的状态开始,这样它就可以提供一致的、可重复的结果。

在这里插入图片描述

场景应用

fixture可以调用其它fixture;重复使用fixture时,每个测试都会获得不受影响的一批数据。在登录类应用时比较方便,创建一个获取token的fixture,其它测试函数重复使用这个fixture,获取鉴权。后面会说明fixture作用域,设置为类级或会话级,可以保证多次测试只请求了一个token。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中检查字符串是否仅包含字母的多种方法:深入探究

更多资料获取 📚 个人网站:ipengtao.com 随着Python在数据处理和字符串操作方面的广泛应用,经常需要对字符串进行验证,确认其是否仅包含字母。本文将探讨Python中的多种方法来检查字符串是否只由字母组成,以及它们的应…

自助POS收银机-亿发互联网收银解决方案助力零售业迎接数字经济挑战

零售业作为中国经济的主动脉,扮演着至关重要的角色。最新发布的《中国线下零售小店数字化转型报告》揭示了当前线下零售小店所面临的多重痛点,经营方式传统、滞后的内部管理和营销模式,以及缺乏消费数据等问题,这些痛点都指明&…

项目经理是干出来的,不是教出来的

大家好,我是老原。 有不少新手项目经理,在通过了PMP认证考试,拿到PMP证书后,对之前无序的项目管理状态感觉有了一丝通透的感觉,对接受新项目更是信心满满。 然后就有不少没有项目管理经验,且刚刚考取PMP证…

玩转大数据7:数据湖与数据仓库的比较与选择

1. 引言 在当今数字化的世界中,数据被视为一种宝贵的资源,而数据湖和数据仓库则是两种重要的数据处理工具。本文将详细介绍这两种工具的概念、作用以及它们之间的区别和联系。 1.1. 数据湖的概念和作用 数据湖是一个集中式存储和处理大量数据的平台&a…

Vue Computed

小满,我的神! 视频链接 // 只读 const plusOne computed(() > count.value 1) // 可读可写 const plusOne computed({get: () > count.value 1,set: (val) > {count.value val - 1} }, { // 用于调试onTrack(e) {debugger},onTrigger(e) …

网上选课系统源码(Java)

JavaWebjsp网上选课系统源码 运行示意图:

GD32F103*固件库移植FreeRTOS详细教程与解析

GD32F103*固件库移植FreeRTOS详细教程与解析 GD32F103*移植μCOS-Ⅲ详细教程与解析,欢迎指正 文章目录 GD32F103*固件库移植FreeRTOS详细教程与解析前言一、移植前的准备二、移植步骤1.文件结构2.添加代码3.编译与配置 三、注意事项总结 前言 FreeRTOS是一个可以基…

Hadoop学习笔记(HDP)-Part.09 安装OpenLDAP

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

网工内推 | 上市公司初级网工,HCIP认证优先,14薪,享企业年金

01 易佰网络 招聘岗位:初级网络工程师 职责描述: 1.电脑周边设备(打印机、扫描仪、传真机、复印机、投影仪等)安装与维护; 2.局域网维护;无线网WLAN维护;监控系统维护; 3.固资维护管…

学校图书管理系统的开发

目 录 摘要 1 Abstract. 1 1 引言 2 1.1 图书管理的现状 2 1.2 现有图书管理系统的概述 3 1.3 选题的目的、意义 3 1.4 图书管理系统的可行性分析 4 1.5 系统开发运行环境 4 2 图书管理系统开发相关技术的介绍 5 2.1 Asp.net的介绍 5 2.1.1 Asp.net的优势介绍 5 2.1.2 Asp.net…

记录一下Mac配置SpringBoot开发环境

由于很多项目喜欢使用传统的 Java 8 进行开发,而且 Java 8 的稳定性也是经过长久考验的,我们接下来就尝试一下,在一台新的 Mac 中配置 Java 环境,并且开始创建 SpringBoot 项目。 首先,去 Oracle 官网下载 java8 JDK …

玩转数据8:数据质量管理与数据清洗的实践

引言 在当今数字化时代,数据质量管理和数据清洗对于企业和组织来说变得至关重要。随着大数据的快速增长和数据驱动决策的普及,确保数据的准确性、一致性和完整性成为保证业务成功的关键因素。本文将探讨数据质量管理和数据清洗的概念、目标以及其在Java…

Servlet作业1

1.【单选题】 (10分) (B )是一个用 Java 编写的程序,是一种实现了Servlet接口的类,它是由web容器负责创建并调用,在服务器容器上运行,用于接收和响应用户的请求。 A.Filter B.Servlet C.Request D.Res…

药敏分析分子对接

RCSB PDB: Homepage AutoDock Vina (scripps.edu) GSCA - Gene Set Cancer Analysis (hust.edu.cn) 药物筛选 gscalite数据库(好像用不了了) PRISM CTRP CMap GDSC oncoPredict文献学习-CSDN博客 蛋白的3D结构 RCSB PDB: Homepage SH3PXD2B G…

CRC(循环冗余校验)直接计算和查表法

文章目录 CRC概述CRC名词解释宽度 (WIDTH)多项式 (POLY)初始值 (INIT)结果异或值 (XOROUT)输入数据反转(REFIN)输出数据反转(REFOUT) CRC手算过程模二加减&am…

vue3中手写一个日历,年部分,月部分,周部分,日部分

效果图 高度自定义,支持每天的统计展示,弹窗展示,详情操作 月部分: 默认展示当前月,支持前进和后退选择下一月 支持自定义每月的展示数据, 周部分: 分为上下午,可以列出要做的事项…

30、pytest入门内容回顾

整体结构 解读与实操 pytest30讲主要从四个方面由浅入深的进行解读, 开始 讲解了pytest的概述,安装前的准备工作(python,pycharm,pytest),运行方式(命令行),断言(assert…

麒麟linux将图片批量生成PDF的方法

笔者手里有一批国产linu系统,目前开始用在日常的工作生产环境中,我这个老程序猿勉为其难的充当运维的或网管的角色。 国产linux系统常见的为麒麟Linux,统信UOS等,基本都是基于debian再开发的linux。 问题描述: wind…

OCP Java17 SE Developers 复习题08

答案 答案 答案 A. This code is correct. Line 8 creates a lambda expression that checks whether the age is less than 5, making option A correct. Since there is only one parameter and it does not specify a type, the parentheses around the parameter are …

【C++】POCO学习总结(九):网络

【C】郭老二博文之:C目录 1、Poco::Net::IPAddress IP地址 Poco::Net::IPAddress类存储IPv4或IPv6主机地址。 Poco::Net::IPAddress可以从字符串解析,也可以格式化为字符串。支持IPv4格式(d.d.d.d)和IPv6格式(x: x: x: x: x: x: x: x)。 常用函数&…