一文弄懂Pytest——fixture用法

2024-05-11 20:52

本文主要是介绍一文弄懂Pytest——fixture用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述

💟💟前言

友友们大家好,我是你们的小王同学😗😗
今天给大家打来的是 一文弄懂Pytest——fixture用法
希望能给大家带来有用的知识
觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄
小王的主页:小王同学🚗
小王的gitee:小王同学🏩🏩
小王的github:小王同学💦

🎐什么是fixture??


在Python中,特别是在使用pytest进行测试时,fixture是一种功能强大且灵活的机制,用于在测试函数之间共享代码和数据。pytest的fixture允许您为测试函数提供预先设置的对象、数据或者环境,并确保这些资源在测试函数执行前后得到正确的处理。

​以下是关于pytest中fixture的一些基本信息:

定义fixture:

在pytest中,您可以通过使用@pytest.fixture装饰器来定义fixture函数。这些fixture函数可以在测试函数中作为参数使用,pytest会自动执行这些fixture函数并将它们的返回值传递给测试函数。
fixture的作用:

  • (scope=“function”) 每个函数或方法都调用
  • (scope=“class”) 每一个类都调用
  • (scope=“moudle”) 每一个.py文件调用一次
  • (scope=“moudle”) 是多个文件调用一次,.py文件就是moudle

fixture的作用范围: session > moudle > class > function

fixture可以用于设置测试的前置条件,比如创建临时文件、初始化数据库连接、模拟网络请求等。通过fixture,您可以避免在每个测试函数中重复编写相同的设置代码。
fixture的范围:

可以为fixture指定不同的作用范围,比如function(每个测试函数运行一次)、class(每个测试类运行一次)、module(每个模块运行一次)或者session(整个测试会话运行一次)。
fixture之间的依赖:

可以定义fixture之间的依赖关系,让一个fixture可以使用另一个fixture提供的资源。这样可以构建复杂的测试环境,并确保资源的正确释放和清理。
fixture的参数化:

可以给fixture函数传递参数,以便根据不同的测试需要动态生成不同的资源。这可以增加fixture的灵活性和复用性。
通过合理使用fixture,您可以更轻松地编写清晰、模块化和可维护的测试代码,同时确保测试的可靠性和一致性。pytest的fixture功能是pytest框架中非常有用的一个特性,为测试编写提供了很大的灵活性和便利性。

在这里插入图片描述

​我们可以把fixture这个变量直接替换
控制台输出
在这里插入图片描述

因为 4 != 2 所以断言失败!

在这里插入图片描述

在这里插入图片描述
结果是按照fixture定义的顺序进行的!

这篇关于一文弄懂Pytest——fixture用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980628

相关文章

MySQL 字符串截取函数及用法详解

《MySQL字符串截取函数及用法详解》在MySQL中,字符串截取是常见的操作,主要用于从字符串中提取特定部分,MySQL提供了多种函数来实现这一功能,包括LEFT()、RIGHT()、SUBST... 目录mysql 字符串截取函数详解RIGHT(str, length):从右侧截取指定长度的字符SUBST

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

SQL Server中的PIVOT与UNPIVOT用法具体示例详解

《SQLServer中的PIVOT与UNPIVOT用法具体示例详解》这篇文章主要给大家介绍了关于SQLServer中的PIVOT与UNPIVOT用法的具体示例,SQLServer中PIVOT和U... 目录引言一、PIVOT:将行转换为列核心作用语法结构实战示例二、UNPIVOT:将列编程转换为行核心作用语

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发