一文弄懂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

相关文章

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

关于@RequestParam的主要用法详解

《关于@RequestParam的主要用法详解》:本文主要介绍关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 基本用法2. 默认值3. 可选参数4. 绑定到对象5. 绑定到集合或数组6. 绑定到 Map7. 处理复杂类

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展