如何使用pytest生成测试报告?

问题描述 投票:0回答:5

如何使用pytest生成测试报告?我搜索了它,但我得到的都是有关报道的报告。 我尝试使用这个命令:

py.test sanity_tests.py --cov=C:\Test\pytest --cov-report=xml

但是作为参数代表它生成的是覆盖率报告而不是测试报告。

python pytest
5个回答
83
投票

摘自评论:您可以使用

--junitxml
参数。

$ py.test sample_tests.py --junitxml=C:\path\to\out_report.xml

10
投票

您可以使用 pytest 插件“pytest-html”来生成 html 报告,该报告也可以转发给不同的团队

首先安装插件:

$ pip install pytest-html

其次,只需使用以下命令运行测试:

$ pytest --html=report.html

您还可以在代码中使用插件提供的挂钩。

import pytest
from py.xml import html

def pytest_html_report_title(report)
   report.title = "My very own title!"

参考:https://pypi.org/project/pytest-html/


0
投票

Allure Report是一个不错的选择。 Allure 显示错误消息、堆栈跟踪和其他调试信息。您可以将测试的输出拆分为步骤或附加运行时数据,例如屏幕截图、日志或其他任何内容。

安装简单。首先,你需要安装插件:

pip install allure-pytest

运行测试时,在

--alluredir
命令行参数中指定测试结果目录的路径。例如:

python -m pytest --alluredir allure-results

最后,运行Allure将测试结果转换为HTML报告。这将自动打开您的浏览器以查看报告。

allure serve allure-results

详细的集成指南也可以在文档中找到。


-1
投票

我还没有尝试过,但你可以尝试参考https://github.com/pytest-dev/pytest-html。一个可以生成 HTML 输出的 python 库。


-2
投票
py.test --html=Report.html 

您也可以在这里指定您的 python 文件。在这种情况下,当没有指定文件时,它会拾取运行命令的目录中存在的所有名称类似于“test_%”的文件并执行它们,并生成名称为 Report.html 的报告

您还可以相应修改报告的名称。

© www.soinside.com 2019 - 2024. All rights reserved.