python - 如何将 PyTest 测试用例报告放入变量中
问题描述
当测试用例失败时,我正在使用钩子夹具生成自定义报告:
@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
outcome = yield
rep = outcome.get_result()
extra = getattr(rep, 'extra', [])
if rep.when == 'call' and rep.failed:
在进一步使用方面,是否可以将带有 stdout/stderr 的控制台 PyTest 报告转换为字符串变量?(在这个夹具中)例如report = outcome...
解决方案
它是通过直接从rep
对象获取所需信息来完成的,其中rep = outcome.get_result()
:
def __create_description(self, report):
stdout = getattr(report, "capstdout")
longreprtext = getattr(report, "longreprtext")
delimiter = "\n=============================\n"
description = delimiter + "Captured stdout:\n" \
+ stdout + delimiter + "Traceback:\n" + longreprtext
return description
推荐阅读
- c# - 如何通过考虑时间来计算两个给定日期之间的周末(以分钟为单位)
- c# - 在 .NET Core Worker 服务中执行健康检查
- javascript - 从 Json 中查找数组 obj 的名称
- android - 如何通过改造使用 addFormDataPart 发送对象数组列表?
- c++ - CMake - FLANN 库不构建(用于 PCL 库)
- laravel - 如何在 mocha-webpack 中为 laravel vue 单文件组件解析别名
- html - 似乎无法摆脱我的 CSS 菜单中额外的 1px 白色边框
- c++ - 如何防止用户指定函数模板参数,强制推导它?
- typescript - 抽象类中的自定义计算方法名称
- ruby-on-rails - 如何使用参数的值为关联模型构建“.collection”方法?