在 github PR 中显示覆盖率

gue*_*tli 5 python github pytest travis-ci

我们对 github 中的每个拉取请求运行测试。

如果您正在查看拉取请求的更改,那么覆盖范围是可见的,那就太酷了。

在查看 PR 审查中的差异时,我想看看哪一行被覆盖,哪一行没有覆盖。

我们使用 pytest 和 travis。

我发现了这个: https: //github.com/TheKevJames/coveralls-python 但据我所知,这显示了其他地方的覆盖率报告,而不是 PR 的“文件已更改”选项卡。

这个问题并不是要达到 X% 的总体覆盖率。这个问题是关于查看哪些行被覆盖以及哪些行未被覆盖。

Ami*_*ngh 17

您可以使用 Github Actions 和 Github Check 运行 API 来实现此目的。

Github Action 工作流程的一般流程为:

  1. 运行pytest更改的文件,然后生成coverage报告。
  2. 使用coverage报告来注释提交。

生成的报告如下所示:

使用覆盖率报告注释 PR 提交

我创建了一个存储库:pytest-annotate-pr来演示如何完成此操作。请注意,这只是如何完成此操作的演示,距离生产准备还很远。例如,当前仅当在 PR 中推送提交时才有效:) 当分支合并到main. 上面的截图来自针对 提出的PR 之一main

如果您致力于此工作并准备好生产工作流程,请考虑将其制作为 Github Action。