是否可以在 pytest_generate_tests() 中使用固定装置?

2024-03-28

我有一些固定装置conftest.py在实际测试功能中运行良好。但是,我想使用参数化一些测试pytest_generate_tests()基于其中一些装置的数据。

我想做的(简化):

-- conftest.py --
# my fixture returns a list of device names.
@pytest.fixture(scope="module")
def device_list(something):
    return ['dev1', 'dev2', 'dev3', 'test']

-- test001.py --
# generate tests using the device_list fixture I defined above.
def pytest_generate_tests(metafunc):
    metafunc.parametrize('devices', itertools.chain(device_list), ids=repr)

# A test that is parametrized by the above function.
def test_do_stuff(devices):
    assert "dev" in devices

# Output should/would be:
dev1: pass
dev2: pass
dev3: pass
test: FAIL

当然,我遇到的问题是pytest_generate_tests(),它抱怨说device_list未定义。如果我尝试传递它,pytest_generate_tests(metafunc, device_list),我收到错误。

E   pluggy.callers.HookCallError: hook call must provide argument 'device_list'

我想这样做的原因是我使用它device_list列出不同文件中的一堆不同测试,所以我想使用pytest_generate_tests()使用相同的列表参数化测试。

这是不可能的吗?使用有什么意义pytest_generate_tests()如果我必须在该函数内复制我的装置?


根据我多年来收集的信息,固定装置与 pytest 的收集后阶段紧密耦合。我曾多次尝试做类似的事情,但从未真正成功。

相反,您可以创建一个函数来完成您的装置将要做的事情,并在generate_tests挂钩内调用它。然后,如果您仍然需要它作为固定装置,请再次调用它(或保存结果或其他)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在 pytest_generate_tests() 中使用固定装置? 的相关文章

  • Python 有不可变列表吗?

    python 有不可变列表吗 假设我希望具有元素有序集合的功能 但又想保证它不会改变 如何实现呢 列表是有序的 但它们可以改变 是的 它被称为一个tuple 所以 而不是 1 2 这是一个list并且可以突变 1 2 is a tuple并
  • Spyder 和 Jupyter 有什么区别?

    我正在学习Python用于数据科学 但我的问题是我仍然不明白Spyder和Jupyter之间的区别 我希望你们能帮助我理解其中的区别 我将不胜感激 以下只是这两个工具的基本摘要 Jupyter 是一个非常流行的用于数据分析的应用程序 它是一
  • 在 Python 中比较浮点数是否几乎相等的最佳方法是什么?

    众所周知 由于舍入和精度问题 比较浮点数是否相等有点繁琐 例如 比较浮点数 2012 年版 https randomascii wordpress com 2012 02 25 comparing floating point number
  • Python:如果满足条件,则循环遍历一个字典并在新字典中创建键/值对

    我想将一个字典的值与第二个字典的值进行比较 如果值满足特定条件 我想创建第三个字典 其中的键和值对将根据匹配情况而变化 这是一个显示我的问题的人为示例 编辑 对所有返回感到抱歉 但堆栈溢出无法识别单个返回 并且在一行上运行 3 4 行 使代
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 让 Django 提供可下载文件

    我希望网站上的用户能够下载路径被遮挡的文件 因此无法直接下载它们 例如 我希望 URL 是这样的 http example com download f somefile txt 在服务器上 我知道所有可下载的文件都位于该文件夹中 home
  • 打开文件路径在 python 中不起作用[重复]

    这个问题在这里已经有答案了 我正在编写一个数据库程序 personica 是我的测试主题 我通常在文件路径的位置有一个变量 但出于测试和演示的目的 我只有一个字符串 在我的计算机上的这个确切位置有一个文本文件 顺便说一句 因为我很偏执 所以
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • Python 中 eval("input()") 和 eval(input()) 之间的区别

    我正在尝试以下功能 x eval input 输入为 123 x 的类型也是int 它工作正常 In 22 x eval input enter enter 123 In 24 print type x
  • 统计Sweep算子的Python实现

    我正在学习一些用书中缺失的数据进行统计的技术 缺失数据的统计分析作者 利特尔和鲁宾 对于处理单调无响应数据来说 一个特别有用的函数是扫频操作员 详情见第 148 151 页 我知道 R 模块gmm有swp函数可以做到这一点 但我想知道是否有
  • LogRecord 没有预期的字段

    在使用 logging 模块的Python中 文档承诺LogRecord实例将具有许多属性 这些属性在文档中明确列出 然而 情况似乎并不总是如此 当我不使用日志记录模块的 basicConfig 方法时 下面的程序显示属性 asctime
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用
  • Tensorflow `tf.layers.batch_normalization` 不会向 `tf.GraphKeys.UPDATE_OPS` 添加更新操作

    以下代码 复制 粘贴可运行 说明了如何使用tf layers batch normalization import tensorflow as tf bn tf layers batch normalization tf constant
  • 如何单独捕获这些异常?

    我正在编写一个与 Quickbooks 交互的 Python 程序 连接到 Quickbooks 时 根据问题的不同 我可能会遇到以下两个常见异常之一 pywintypes com error 2147352567 Exception oc
  • 使用 Python 获取 Youtube 数据

    我正在尝试学习如何分析网络上可用的社交媒体数据 我从 Youtube 开始 from apiclient errors import HttpError from outh2client tools import argparser fro
  • Hoare Partitioning算法讲解

    根据许多网站给出的伪代码 我写了这个Hoare分区算法 它采用一个数组 根据给定的主元来分区子数组的开始和结束索引 它工作得很好 但是有人可以解释一下逻辑 它是如何做到这一点的吗 这是代码 def hoare arr start end p
  • Python struct.pack() 'struct.error: bad char in struct format' 尝试保存字节顺序时

    我正在尝试打包一个字符串和字符串的长度 fmt
  • 如何使用多阶段构建减小 python (docker) 图像大小?

    我正在寻找一种使用 python 和 Dockerfile 创建多阶段构建的方法 例如 使用以下图像 第一张图片 安装所有编译时要求 并安装所有需要的 python 模块 第二张图片 将所有已编译 构建的包从第一个映像复制到第二个映像 而不

随机推荐

  • 如何在 Maven 安装目标中跳过测试,同时在 Maven 测试目标中运行测试?

    我有一个多模块 Maven 项目 集成和单元测试位于同一文件夹 src test java 中 集成测试标记为 Category IntegrationTest class 我想最终得到以下设置 如果我跑mvn install 我希望编译所
  • 如何将覆盖函数插入 if else 语句

    我意识到 使用基本逻辑 我无法将覆盖函数放入 if else 语句中 因为它会覆盖所有内容 但是我仍然需要放入 if else 语句来为 segue 做准备 因此 我正在工作的代码的工作方式是 如果用户点击按钮两次 他们就赢得了游戏 因此转
  • 更改注册/丢失密码“操作链接”URL、标题和修改错误页面。主题我的登录插件驱动的 WordPress 网络多站点

    我已经为我的客户建立了一个巨大的网络多站点 每月接收 1000 个新用户 并且已经有 5 个克隆网络站点 并且还在不断增加 它有一个静态主页 主题我的登录插件在定制的 Divi 子节点上运行主题 在自定义的登录页面上 登录本身工作正常 下面
  • 无法在azure函数运行时v1中创建python函数应用程序

    我正在使用 v1 运行时创建一个函数应用程序 直到 9 月 24 日我才能够在 v1 环境中使用 python 创建函数应用程序 但从那时起我无法看到 python 选项 官方文档说它支持python v1 虽然是实验性的 参考这个指南 h
  • 在 Atom 编辑器初始化脚本中使用树视图

    我正在尝试为 Atom 编辑器编写一个初始化脚本 以添加自定义命令 以便能够使用一个组合键 而不是两个组合键 在树视图中显示当前打开的编辑器文件 这是一个示例代码 它使一些东西有所不同 以明确它通常的外观 atom commands add
  • HTML 元素的坐标

    我将创建一个选择 套索 用户可以使用它来选择表格的部分 我认为在该区域上放置一个 div 比尝试操纵单元格边界要容易得多 如果您不明白我的意思 请打开一个电子表格并拖动一个区域 我希望 div 与单元格边框完美对齐 我很清楚如何做到这一点
  • Django ORM,将 None 日期时间作为 0 插入 MySQL

    我有一个 MySQL 数据库 除了 Django 之外 还被另一个应用程序使用 该应用程序使用 0000 00 00 00 00 00 作为日期时间的默认值 Django v1 5 5 解释 0000 00 00 00 00 00 日期时间
  • Python3:导入错误:/lib/x86_64-linux-gnu/libQt5Core.so.5:找不到版本“Qt_5.15”

    我使用 Qt Designer 在 Qt 上创建了一个窗口 当我启动该应用程序时 我收到 ImportError 感觉我的系统中没有安装该库 但预览可以在 Qt Designer 中使用 设计文件完整代码 coding utf 8 Form
  • IOError 和 OSError 之间的区别?

    我总是对函数是否会引发 IOError 或 OSError 或两者 感到困惑 这些异常类型背后的原则规则是什么 它们之间有什么区别以及何时引发 我最初认为 OSError 是针对权限拒绝之类的事情 但是在没有权限的情况下打开文件会引发 IO
  • 如何调查 WCF 通过 GET 发出 400 错误请求?

    以下 WCF 端点与 WCF 测试客户端配合良好 OperationContract WebGet ResponseFormat WebMessageFormat Xml BodyStyle WebMessageBodyStyle Bare
  • 不使用jquery实现signalR

    是否可以在不使用 Jquery 的情况下实现 SignalR 我想为 Titanium 创建一个模块 但我不知道 SignalR 对 DOM 的依赖程度如何 jQuery 只用于 ajax 请求吗 你认为这有多难 嗯 这并非不可能 但这需要
  • 在 Flink 流中使用静态 DataSet 丰富 DataStream

    我正在编写一个 Flink 流程序 其中我需要使用一些静态数据集 信息库 IB 来丰富用户事件的数据流 对于例如假设我们有一个买家的静态数据集 并且有一个传入的事件点击流 对于每个事件 我们希望添加一个布尔标志来指示事件的执行者是否是买家
  • Unblessing Perl 对象并为 Convert_blessed 构造 TO_JSON 方法

    In 这个答案 https stackoverflow com a 4185679 632407我找到了一个简单的推荐TO JSON方法 将受祝福的对象序列化为 JSON 时需要该方法 sub TO JSON return shift 有人
  • 为什么Python中tuple和str的子类不支持弱引用?

    从版本 3 8 开始 Python 的关于弱引用的文档 https docs python org 3 library weakref html states 一些内置类型 例如 list 和 dict 不直接支持弱引用 但可以通过子类化来
  • SQL 查询 - 比较不同项目上的两个项目

    您好 我是 SQL 代码的新手 想知道是否可以获得以下输出 EVT John Paul Difference A1 1 2 1 A2 2 3 1 来自以下数据源 EVT PERS RANK A1 John 1 A1 Paul 2 A1 Ri
  • 在 iPad 上的 IOS 6 中,初始旋转始终为纵向,之后始终正确旋转

    在 iOS 5 X 下正常工作并支持所有方向的运输应用程序中 针对 iOS 6 构建的它始终以纵向启动 即使 ipad 模拟器处于横向状态也是如此 我确实添加了新的旋转方法 BOOL shouldAutorotate NS AVAILABL
  • dotnet build 如何选择输出名称

    首先我来解释一下引起这个问题的问题 如果我使用创建一个新项目dotnet new并指定一个随机项目名称 narg 然后做完之后dotnet restore dotnet build从默认的 bash 终端 gt 最终输出名称是always
  • 缓存属性与 Lazy

    在 NET 4 中 还可以使用以下带有缓存属性的代码片段编写System Lazy
  • 如何从用户空间访问(如果可能)内核空间?

    Linux 内核中用户内存和内核内存到底是如何区分的 在保证内核空间安全方面 从用户空间向内核地址空间写入的方式有哪些不同 我知道的一种方法是通过系统调用 我们可以使用多种系统调用 但最终都是系统调用 即使在系统调用中 我们也会将数据发送到
  • 是否可以在 pytest_generate_tests() 中使用固定装置?

    我有一些固定装置conftest py在实际测试功能中运行良好 但是 我想使用参数化一些测试pytest generate tests 基于其中一些装置的数据 我想做的 简化 conftest py my fixture returns a