使用模板生成Pytest报告
项目描述
从模板生成Pytest报告。您可以使用PyPI上可用的模板之一(如参考模板pytest-reporter-html1),继承它们以调整其内容和外观,或从头开始制作。
任何基于文本的内容都可以生成,如HTML、LaTeX、CSV等。
安装
您可以通过从PyPI使用pip安装“pytest-reporter”
$ pip install pytest-reporter
使用方法
指定您要使用的模板和报告的输出路径
$ pytest --template-dir=templates --template=report.html --report=report.html
编写模板
此插件不包含对任何模板引擎的内置支持,每个模板都必须实现渲染(或使用另一个模板插件作为基础)。一个最小的模板可能只需实现pytest_reporter_render钩子。
这是一个非常基础的Jinja2模板实现
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
def pytest_reporter_render(template_name, dirs, context):
env = Environment(loader=FileSystemLoader(dirs))
try:
template = env.get_template(template_name)
except TemplateNotFound:
# Don't know about this name, may be provided by some other template
return
return template.render(context)
有关完整的参考实现,请参阅pytest-reporter-html1
模板上下文
所有模板都可用以下标准上下文
config: 配置
会话: 会话
启动时间: 会话开始时的 Unix 时间戳
结束时间: 会话完成时的 Unix 时间戳
警告[]: 警告列表,类型为 WarningMessage
项目: 收集到的项目字典,以节点 ID 为键
测试[]: 每次运行的测试列表,以字典形式存在,包含以下键
项目: 项目
阶段[]: 每个测试阶段(设置、调用、清理)的列表,以字典形式存在,包含以下键
状态: 整个测试的状态。包含以下键的字典
类别: 测试状态的类别(例如,“通过”)
字母: 测试状态的单字母版本(例如,“P”)
单词: 测试状态的大写单词版本(例如,“PASSED”)
样式: 包含例如 {"yellow": True} 的字典或空字典
可以使用以下方法扩展或修改上下文
config.template_context
template_context 修复
pytest_reporter_context() 钩子
钩子
有关可用的钩子完整列表,请参阅 hooks.py
许可证
在 MIT 许可证的条款下分发,“pytest-reporter”是免费和开源软件
问题
如果您遇到任何问题,请提交问题,并附带详细描述。
项目详情
pytest-reporter-0.5.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 426ae38f3c5304659635eff1d4080c8acf4dc6cd833469caed427a9a80bb41aa |
|
MD5 | 48660eab057e7394c03ac7a827d0ab2f |
|
BLAKE2b-256 | 0a1aa5f46dd3b78dc207de5813342b3e51207d1bcae92207443536d0f6df24e2 |
pytest_reporter-0.5.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fa39fef46b1926b6f181c2759da0bcfd26b7697ef59d3c5cd260106c59b3a196 |
|
MD5 | 98961585ca61432b5f8d935290c1d4e0 |
|
BLAKE2b-256 | e3762bac8243221186d8e8825912b95b04b3110c14f2cb4da6fbc476736e81e5 |