跳转到主要内容

使用pytest在GitHub Workflows中生成GitHub报告

项目描述

Pytest GitHub Report

这是一个使用GitHub报告pytest生成漂亮的Markdown结果的示例。这里的测试来自pytest-md-report存储库。

用法

本地

首先,安装依赖项

$ pip install -r requirements.txt

然后运行测试以查看Markdown输出(该输出将通过管道传输到GitHub)

$ pytest --github-report tests/

此Markdown输出由pytest-md-report提供,您可以在那里看到其他自定义方法!

GitHub Actions

为了在GitHub Actions中使此功能工作,实际上非常简单!您可以选择运行相同的命令

  - name: Report via Command Line
    run: pytest --github-report tests

或通过环境导出(例如,如果您不希望更改默认测试命令但希望它能在GitHub Actions中工作)。

  - name: Report via Environment
    env:
      pytest_github_report: true
    run: pytest tests

配置

由于我们针对GitHub Actions,可以通过环境进行高级配置。

启用

如果您希望报告在环境中运行(如果您不想更改运行测试的命令,则这是理想的)您可以这样做

export pytest_github_report=true

如果找到任何非空值(例如,True 或 yes)且此模块已安装,则会生成报告。

标题

为您的报告设置特定标题

  - name: Report via Environment
    env:
      pytest_github_report: true
      pytest_report_title: "Formatting"
    run: pytest tests

零值

默认情况下,我们仅显示彩色表情符号来表示成功或失败。要使用计数(值)代替

  - name: Report via Environment
    env:
      pytest_github_report: true
      pytest_use_zeros: true
    run: pytest tests

空值

或一个空值

  - name: Report via Environment
    env:
      pytest_github_report: true
      pytest_use_blanks: true
    run: pytest tests

详细信息

默认情况下,我们输出简化视图,即 pytest_verbosity: 0。实际上您有两个关于详细度的选项:第一个是默认(0),它按文件显示摘要

  - name: Report via Environment
    env:
      pytest_verbosity: 0
    run: pytest --github-report tests

注意以下内容,尽管表格按文件显示摘要,但输出部分显示了文件中的所有失败项

img/report-simple.png

第二个显示了每个测试的结果(添加函数名称)并为矩阵添加更多详细信息

  - name: Report via Environment
    env:
      pytest_verbosity: 2
    run: pytest --github-report tests

img/report-verbosity.png

在这种情况下,细节位于函数级别。但无论如何,细节都打印在矩阵下方,就像您在上面看到的那样!

表情符号

选择您想要用于测试的表情符号(或字符)!以下是一个有用的表情符号指南

  - name: Report via Environment
    env:
      pytest_github_report: true
      pytest_report_title: ":unicorn: Report With Custom Emojis :unicorn:"
      pytest_passed_emoji: ":green_heart:"
      pytest_failed_emoji: ":heart:"
      pytest_xpassed_emoji: ":bangbang:"
      pytest_xfailed_emoji: ":bangbang:"
      pytest_skipped_emoji: ":shipit:"
    run: pytest tests

以下是一个使用上述自定义表情符号的示例!

img/report-custom-emojis.png

您可以在GitHub 工作流程中查看这些示例。

谢谢!

这里的 Markdown 功能基于thombashi/pytest-md-report,该软件在.github/LICENSE下以 MIT 许可证发布,我们在其中进行了信用。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

pytest-github-report-0.0.1.tar.gz (11.5 KB 查看哈希

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面