pytest:在报告中添加长测试描述的最佳方法

2024-01-08

默认情况下,pytest 在 pytest 报告中使用测试函数名称或测试文件名称

有没有在报告中添加测试描述(长测试名称)的最佳方法,而无需使用 pytest 重命名文件或函数?

我们可以通过在运行时更新测试用例名称来做到这一点吗?

  1. 请求.节点.名称
request.node.name = "Very Very Very Very Very long long long long name name name name"
  1. 测试名称后的描述
def test_ok():
"""Very Very Very Very Very long long long long name name name name"""
    print("ok")

使用pytest_runtest_makereport hook https://docs.pytest.org/en/latest/reference/reference.html#_pytest.hookspec.pytest_runtest_makereport,可以为每个测试调整报告的名称。 (请注意,挂钩必须放置在插件或conftest.py)

# conftest.py

import pytest

@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(item, call):
    outcome = yield
    report = outcome.get_result()

    test_fn = item.obj
    docstring = getattr(test_fn, '__doc__')
    if docstring:
        report.nodeid = docstring


# test_it.py

def test_ok():
    """Very Very Very Very Very long long long long name name name name"""
    print("ok")

这将产生类似于以下内容的输出:

tests/test_stuff.py::test_ok 
Very Very Very Very Very long long long long name name name name <- tests/test_stuff.py PASSED [100%]

See “hookwrapper:围绕其他钩子执行” https://docs.pytest.org/en/latest/how-to/writing_hook_functions.html?#hookwrapper-executing-around-other-hooks欲了解更多信息outcome = yield and outcome.get_result()商业。

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

pytest:在报告中添加长测试描述的最佳方法 的相关文章

随机推荐

  • 通过具有 NaN 值的数据帧更新数据帧

    我尝试更新 DataFrame df1 pd DataFrame data A 1 2 3 4 B 5 6 7 8 通过另一个 DataFrame df2 pd DataFrame data B 9 np nan 11 np nan 现在我
  • 计算列存储聚合计数

    我希望计算列存储来自另一个表的计数总计 我该怎么做 以下工作是否有效 创建表样本 列 1 AS SELECT COUNT FROM table2 PERSISTED 对于 SQL Server 您可以使用索引视图 http technet
  • “检查 S3 通用/方法一致性...警告”的说明

    我试图理解 S3 功能的 R CMD 检查警告 因此 这是我的情况的一个完全可重现的示例 包括 R 代码和 roxygen 代码 我永远无法在任何地方找到 S3 的完整示例 并且包中的实际使用要么过于复杂 要么记录不足 因此 希望这对其他实
  • 懒加载Spring bean

    如果一个bean是延迟加载的 那么延迟加载的bean中定义的所有bean都会被延迟加载吗 即使它们没有定义 Lazy 这是测试项目 https github com madhur conditional property test blob
  • 在 64 位环境中使用 32 位 COM 对象

    我在 Win7 64bit 上使用 powershell 3 我正在尝试通过以下命令使用 net of excel 32bit microsoft office interop excel xl文件格式 我得到了这个错误 无法找到类型 mi
  • 在 R 中编织为 PDF

    我是 R 新手 正在尝试将 R Markdown 文件编织成 PDF 格式 我不断收到错误消息 pandoc 找不到 pdflatex pdf输出需要pdflatex 错误 pandoc 文档转换失败 错误 41 执行停止 未检测到 TeX
  • 有哪些使用有限元来求解结构二维和三维框架的 python 库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • python 关闭文件描述符问题

    我认为这个问题更多的是 编码风格 而不是技术问题 说我有一行代码 buf open test txt r readlines 文件描述符会自动关闭 还是会留在内存中 如果文件描述符未关闭 关闭它的首选方法是什么 如果将文件对象分配给变量 则
  • 直接在主页登录/注册

    例如 我希望用户可以直接登录主页 而不是在页面 account login 上登录 我应该做什么才能使它成为可能 如何将主页上的输入字段与 allauth 连接 我不知道这是否太复杂而无法以这种方式工作 有一个适合我的解决方案 这不是最佳解
  • 有没有办法使用 OpenLayers 更改 openstreetmap 中某些要素的颜色?

    我正在使用 OpenLayers 来显示 openstreetmap 有没有办法编辑地图上的某些功能 例如改变水的颜色 消除国家之间的边界等 如果不能使用 JavaScript 来完成 我猜还有其他方法可以做到这一点 比如托管您自己的地图版
  • Django 模型选择:IntegerField 与 CharField

    TL DR 我有一个包含数百万个实例的表 我想知道应该如何为其建立索引 我有一个使用 SQL Server 作为数据库后端的 Django 项目 在生产环境中拥有大约 1400 万个实例的模型后 我意识到遇到了性能问题 class User
  • 使用 DataContext Attach 方法更新实体时更新检查问题

    我正在尝试在通用存储库中创建一个更新方法作为 LINQ to SQL 数据访问层 我有一个这样的实体 Table public class Product Column IsPrimaryKey true IsDbGenerated tru
  • 查找存储在字符数组中的函数的导数

    我需要做的是读取包含方程的文件 我需要计算每个方程的导数 然后将这些导数方程写入不同的 txt 文件中 我已将所有方程读入字符数组数组中 现在我不知道将它们存储到数组中后该怎么办 我真的不需要帮助将方程写入另一个文件 我知道我能解决这个问题
  • 将带有 List 的字典转换为 IEnumerable

    我有一本字典 Dictionary
  • jQuery $.inArray() 无法与使用 jQuery makeArray() 制作的数组正常工作

    我用这个创建了一个日期数组 var holidays 7 24 2010 7 25 2010 var holidaysArray jQuery makeArray holidays 然后测试数组中是否存在 myDate 日期对象 if in
  • 组合多个Powershell脚本

    当将多个 Powershell 脚本组合在一起时 如 mklement0 在他的回答中所示将多个 Powershell 脚本转换为 EXE https stackoverflow com a 59288784 139212 有没有办法考虑嵌
  • 在Scheme中实现“累计”功能

    几周来我一直在尝试实现 Accumulate 函数 我已经正确实现了一个 Map 函数 它遍历列表并在每个元素上运行一个函数 我正在使用这个函数来实现 累积 define accumulate lambda op base func ls
  • 如何在没有 nms 的情况下从 Tensorflow 对象检测 ssd-mobilenet 解码 raw_outputs/box_encodings

    为了在 Android 上部署我自己的 SSD 移动模型并使用NNAPI加速 我根据以下方法重新训练了模型 无需 NMS 后处理tensorflow objection detection API 没有 NMS 输出raw outputs
  • 在 Marklogic Javascript 中实现 For 循环?

    我可以使用下面的 XQuery 获取集合中文档的所有 URI for doc in fn collection transform return xdmp node uri doc 但是 当我尝试在 MarkLogic 的 Javascri
  • pytest:在报告中添加长测试描述的最佳方法

    默认情况下 pytest 在 pytest 报告中使用测试函数名称或测试文件名称 有没有在报告中添加测试描述 长测试名称 的最佳方法 而无需使用 pytest 重命名文件或函数 我们可以通过在运行时更新测试用例名称来做到这一点吗 请求 节点