尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Pytest的conftest的使⽤
1.当使⽤Pytest进⾏测试时 conftest.py是特殊的⽂件⽤于管理测试⽤例中 需要通⽤数据传递一.pytest.fixture装饰器1.定义简单的夹具fixtureconftest.pyimportpytestpytest.fixturedefsetup_data():return[1,2,3,4,5]2.在conftest.py中定义了⼀个名为setup_data的夹具3.这个夹具可以在测试用例的模块(test_001.py)中被使⽤4.test_001.pydeftest_sum(setup_data):#这里接收的参数是ttconftest.py 中定义的函数#断言求和的值等于15assertsum(setup_data)15deftest_traversal(setup_data):#这里接收的参数也是ttconftest.py 中定义的函数#断言i对应的数字变量存在于setup_data函数中foriinsetup_data:assertiinsetup_data5.然后执行上面的两条测试用例(test_001.py)5.1.pytest.fixture是Pytest测试框架中的装饰器⽤于定义测试⽤例中需要共 享的资源、数据或设置的函数5.2.pytest.fixture它可以在测试⽤例执⾏之前、之后或在每个测试⽤例之前、之后运⾏5.2.1.并提供更⽅便的⽅式来管理测试⽤例的前置条件和后置操作5.3.使⽤pytest.fixture装饰器可以创建⼀个被Pytest⾃动调⽤的函数5.3.1.该函数可以为测试⽤例提供所需的初始化步骤或共享的数据5.3.2.这个函数可以返回⼀个值该值将作为参数传递给测试⽤例函数5.4.使⽤pytest.fixture装饰器目的是更⽅便地管理测试⽤例的前置条件和后置操作5.4.1.实现测试数据的共享和代码的重⽤从⽽使测试代码更加简洁、可维护和可扩展二.pytest.fixture的参数1.pytest.fixture装饰器可以接受⼀些参数⽤于配置和定制fixture函数的⾏为2.常⽤的参数2.1.scope指定fixture的作⽤域2.1.1.function(默认值)每个测试函数都会调⽤⼀次fixture(与setup前置一样)2.1.2.class每个测试用例的类都会调⽤⼀次fixture2.1.3.module 每个测试模块都会调⽤⼀次fixture2.1.4.session整个测试会话只会调⽤⼀次fixture2.1.5.yield每个测试函数都会调⽤⼀次fixture(与tearwdon后置一样)2.2.params参数化fixture可以根据不同的参数值⽣成多个独⽴的fixture实例2.2.1.可以传递⼀个可迭代对象每个元素都会作为参数值调⽤ fixture2.3.autouse⾃动使⽤fixture⽆需在测试函数中显式声明使⽤该fixture2.3.1.可以设置为True或False2.4.name为fixture指定⼀个⾃定义名称⽤于在测试报告和⽇志中标识fixture2.5.其他参数可以根据需要添加其他⾃定义参数供fixture函数使⽤①pytest.fixture参数为scope1.基于类级别设置为自动调用前置、后置设置参数为scopeclass即可1.1.但除了声明的类函数也同样会执行1.2.conftest.pyimportpytestpytest.fixturedefdata():return[1,2,3,4,5,6]pytest.fixture(autouseTrue,scopeclass)#设置自动调用前、后置且级别为类defauto_print():print(这里是自动调用的前置)yieldprint(这里是自动调用的后置)1.3.执行效果2.基于模块级别设置为自动调用前置、后置设置参数为scopemodule即可2.1.conftest.pyimportpytestpytest.fixturedefdata():return[1,2,3,4,5,6]pytest.fixture(autouseTrue,scopemodule)#设置自动调用、且为模块级别defauto_print():print(这里是自动调用的前置)yieldprint(这里是自动调用的后置)2.2.执行效果 与上面提到的模块级别的setup和teardown函数的作用是一样的1个模块2.3.基于用例项目根目录下多个模块执行的效果(两个模块共6条用例)3.基于文件级别设置为自动调用前置、后置设置参数为scopesession即可3.1.文件级别针对的是用例根目录下的所有用例模块3.2.conftest.pyimportpytestpytest.fixturedefdata():return[1,2,3,4,5,6]pytest.fixture(autouseTrue,scopesession)#设置自动调用、且为文件级别defauto_print():print(这里是自动调用的前置)yieldprint(这里是自动调用的后置)3.3.还是两个模块3.4.执行效果②pytest.fixture参数化params1.在conftest文件中执行参数传给对应模块的用例1.1.conftest.pyimportpytestpytest.fixture(params[a,b,c])defparams(request):returnrequest.param1.2.test_002.pydeftest_(params):print(params)1.3.执行结果1.4.也可以给参数自定义名称③pytest.fixture参数为autouse1.基于一条用例设置自动调用前置、后置1.1.conftest.pyimportpytestpytest.fixturedefdata():return[1,2,3,4,5,6]pytest.fixture(autouseTrue)# autouse自动调用defauto_print():print(这里是自动调用的前置)yieldprint(这里是自动调用的后置)1.2.test_002.pydeftest00(data):print(data)1.3.执行结果2.用例2.1.test_002.pydeftest00(data):print(data)deftest01():print(用例01运行了)deftest02():print(用例02运行了)2.2.基于多条用例的执行效果基于用例级别的自动调用前、后置操作
RELATED

相关推荐

NAU8224与PIC24FJ256GB110音频系统设计与优化

NAU8224与PIC24FJ256GB110音频系统设计与优化

1. 为什么选择NAU8224与PIC24FJ256GB110组合在音频处理领域,芯片选型往往决定了系统的最终性能上限。NAU8224作为Nuvoton公司推出的高性能Class-D音频放大器,与Microchip的PIC24FJ256GB110单片机组合,形成了一个兼具处理能力和功率输出的黄金…

📅 2026/8/22 20:14:38
原来谷歌推广和谷歌SEO优化对企业居然有这么大作用?

原来谷歌推广和谷歌SEO优化对企业居然有这么大作用?

引言 在当今全球化的商业环境中,企业拓展海外市场的需求日益增长。谷歌作为全球最大的搜索引擎,在海外市场具有举足轻重的地位。谷歌推广和谷歌 SEO 优化,能为企业带来巨大的价值。凰启出海作为外贸整合营销资深服务商,在这方面有…

📅 2026/9/10 8:50:56
SAP BW 处理链流模式实战:规避DTP锁冲突,实现10分钟级数据更新

SAP BW 处理链流模式实战:规避DTP锁冲突,实现10分钟级数据更新

SAP BW流处理链深度实战:解锁高频数据更新的10分钟级响应流处理链的本质与价值在传统SAP BW处理链中,DTP锁冲突如同高速公路上的连环追尾事故——一旦前车(前一个处理链)减速,后续所有车辆(处理链实例&…

📅 2026/9/15 12:15:44
MORE NEWS

更多资讯

📰

Jellyfin 桌面客户端:免费装 MPV 播放器的 3 步配置,音频直通与硬件解码一篇讲清

Jellyfin 桌面客户端:免费装 MPV 播放器的 3 步配置,音频直通与硬件解码一篇讲清 【免费下载链接】jellyfin-desktop Jellyfin Desktop Client 项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin-desktop Jellyfin 桌面客户端&#xff…

📰

ESP32-S3 USB HID 键盘在 Arduino 核心 3.0 中 LED 状态不回传,怎么定位、如何绕过

ESP32-S3 USB HID 键盘在 Arduino 核心 3.0 中 LED 状态不回传,怎么定位、如何绕过 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 用 ESP32-S3 搭配 Arduino …

📰

Puppet 环境枚举 HTTP API 全解析:`GET /puppet/v3/environments` 接口、响应结构与配置详解

运维DevOpsIaC 【免费下载链接】puppet Server automation framework and application 项目地址: https://gitcode.com/gh_mirrors/pu/puppet 点击查看 免费下载 导读 environments 是 Puppet 主服务器(master/server)暴露的一组 HTTP API …

📰

3步搞定网站单页制作教程,避开域名服务器坑

3步搞定网站单页制作教程,避开域名服务器坑 域名解析报错,服务器IP又填错,后台登录页面白屏。 这种低级错误,往往让新手在起步阶段就劝退。 很多刚接触建站的朋友,一上来就问 建站报价 。…

📰

大模型多卡推理的通信瓶颈突破:基于 NCCL Ring-AllReduce 与 CUDA 算子重叠

大模型多卡推理的通信瓶颈突破:基于 NCCL Ring-AllReduce 与 CUDA 算子重叠在云原生 Kubernetes 集群中部署 70B、140B 乃至 405B 超大参数大语言模型时,单张 GPU 显卡的显存(如 80GB)已经完全无法容纳完整模型。 基础设施团队必须…

📰

如何 30 分钟跑通:WeKnora RAG 知识库本地部署完整指南

如何 30 分钟跑通:WeKnora RAG 知识库本地部署完整指南 【免费下载链接】WeKnora Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki. 项目地址: https://gitcode.com/…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬