pytest+requests+allure测试框架中,如何实现用例的数据驱动取出来的数据同步到fixture中,作为参数使用

news/2024/12/21 9:46:13/文章来源:https://www.cnblogs.com/xb9259/p/18620391

1、在 pytest 中,如果你有多个数据驱动的 fixture 和测试用例,并希望确保它们的数据同步传递(即每个 fixture 和测试用例的数据对是一一对应的),你可以使用 pytest.mark.parametrize 来参数化测试函数和 fixture。为了确保 fixture 和测试函数中的数据同步传递,可以将它们放在同一个参数化装饰器中,并设置 indirect=True。
例如:

在这个例子中:

data_fixture 是一个接受参数的 fixture。
test_with_data 函数被 @pytest.mark.parametrize 装饰器参数化,它不仅为 data_fixture 提供了参数,也为测试函数本身提供了参数。
indirect=["data_fixture"] 表示 data_fixture 是间接应用的,意味着它的参数应该通过 request.param 传递给 fixture。
这样,每次测试运行时,pytest 都会为 data_fixture 和 test_with_data 提供一组对应的参数,确保它们同步传递。

这种方法确保了每个 fixture 和测试用例的数据对都是一一对应的,避免了 fixture 取一个值后运行所有测试用例的情况。每个测试用例只会在特定的 fixture 数据下运行一次,保持了数据的一致性和准确性。

2、实际使用场景中,数据必然是来自于数据文件,那这里的数据列表就变成了变量,怎么将变量中的数据取出来使用?
动态生成参数化装饰器
如果你有一个包含所有测试数据的变量,你可以构造出 parametrize 所需的参数列表。下面是一个例子,展示如何动态生成参数化装饰器:

使用字典作为数据源

如果你想更灵活地管理测试数据,可以考虑使用字典作为数据源,这样你可以更容易地扩展或修改测试数据,而不需要调整参数化装饰器中的参数名:

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

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

相关文章

webman: 使用模板引擎twig

一,安装 $ composer require twig/twig 二,配置 config/view.php <?php /*** This file is part of webman.** Licensed under The MIT License* For full copyright and license information, please see the MIT-LICENSE.txt* Redistributions of files must retain th…

读图数据库实战笔记09性能与反模式

性能与反模式1. 熵 1.1. 熵是物理学上的一个术语,本质上是一个系统“内在的混乱程度”​ 1.2. 是我们的敌人 2. 执行缓慢的遍历 2.1. 和关系数据库一样,图数据库对于执行缓慢的操作并不陌生 2.2. 图也有帮助诊断问题的工具2.2.1. 解释一个遍历会做什么2.2.2. 分析一个遍历做了…

广义少镜头分割的视觉提示:一种多尺度方法

广义少镜头分割的视觉提示:一种多尺度方法 5.5.1 多尺度方法概述 基于注意力的变换器模型的出现,由于其优越的泛化和传递特性,在各种任务中得到了广泛的应用。最近的研究表明,当得到适当的提示时,这些模型对于少镜头推理来说是极好的。然而,对于语义分割等密集预测任务,…

专著推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》

专著推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该书强力解析AI芯片的核心技术开发,内容翔实、知识点新颖…

【圆圆的日语教室】日语入门总复习

总复习 文字篇发音篇单词篇四季星期数字国家职业喜好家庭成员外来语儿歌篇 五十音图之歌 小星星 动物之歌 星期之歌 大大的栗子树下 数字歌 哆啦 A 梦之歌 狗狗巡警会话篇

【圆圆的日语教室】日语入门第6课-自我介绍(1)很高兴认识你

第六课——自我介绍(1)很高兴认识你 日语中汉字的两种读音方式音读:根据 当时 传过去的汉字的汉语读音发展得来的不同朝代传过去的读音可能不同,所以一个汉字可能有多种音读吴:南北朝时期、汉:隋唐时期、唐:宋元明清时期例子“明”字:训读:汉字的含义所对应的日语原本…

【圆圆的日语教室】日语入门第7课-自我介绍(2)深入交流

第七课——自我介绍(2)深入交流 介绍国家 常用单词我来自から:表示时间空间上的起点,“从” 来 ました:来(常规) まいりました:来(礼貌、自谦) 两种“来”的说法都可以。介绍职业 常用单词 圆圆带读運転手:司机 弁護士:律师我是介绍喜好 常用单词喜好问答介绍家庭 …

【圆圆的日语教室】日语入门第8课-片假名

第八课——片假名 片假名的书写あ 行あ:先写横折,然后在下面再写一撇 い:单人旁 う:宝盖头,先写一点一竖,然后第三笔拖长一点か 行か:“力”,平假名少了一点,平假名比较圆润,片假名横平竖直。 キ:平假名上面的部分,第一笔短横,第二笔长横。 ク:“久”少了最后一笔…

【圆圆的日语教室】日语入门第5课-长音促音拨音+日常问候

第五课——长音/促音/拨音+日常问候 长音 长音的发音方式 日语中 1 个假名是 1 拍。 所谓的一拍:双掌相对,留出一定距离。一拍的时间大概是从击掌到还原的时间。 短音:一拍清音、浊音、半浊音、拗音都是一拍长音:两拍长音不是读两遍,而是把一个假名的发音拖长一拍。长音的…

有哪些靠谱的卖课平台

随着数字化时代的来临,知识付费与线上教育正迎来新的机遇与挑战。在这个背景下,如何选择一个靠谱而高效的在线卖课平台至关重要。接下来,本文将以专业、多角度的分析探讨当前一些广受教育工作者认可的卖课平台,包括自媒体平台和第三方专业在线教育平台。希望通过本文的内容…

战国兰斯攻略

战国兰斯攻略-摘抄 关于存档我们尽量保证每回合开始和结束各存一档,尤其是比较难的战斗要每行动一次存一次档,不然重新打很费时间的。关于战斗游戏中敌人进攻和防守阵容都是随机的,攻略中的阵容只能拿来参考,具体情况根据个人调整,有余力最好派个斥候看下对面的阵容再分配…

冬至-历历在目

历历在目也算是冬至礼物吧 去年写的抬头仰望30,今年要抬头40了这篇动态还历历在目啊 历历在目也算是冬至礼物吧