【发布时间】:2022-11-04 14:49:53
【问题描述】:
我最近将 cobertura 覆盖率报告添加到我的存储库中,但它仍然没有显示 MR 差异中的覆盖率。
这是我的.gitlab-ci.yml 的工作,它生成了覆盖率报告:
coverage-report:
stage: coverage
script:
- tox -e coverage-report
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
artifacts:
name: "coverage"
paths:
- public/coverage
expire_in: 1 week
reports:
cobertura: public/coverage/coverage.xml
expose_as: "coverage"
这是我的tox.ini:
[tox]
envlist =
coverage-report
minversion = 3.4
[testenv:coverage-report]
basepython = python2.7-32
skip_install = True
deps =
coverage
commands =
coverage run -m pytest -s -vv -x --junitxml=public/test-report.xml tests/
coverage report
coverage html
coverage xml
我很确定报告一切顺利,因为它的 XML 不仅存在于 public/coverage 下(我可以通过已发布的工件看到),而且覆盖率百分比摘要也显示在作业和 MR 中。但是覆盖范围仍然没有出现在 MR 的差异中。我还尝试打开浏览器的“网络”选项卡并查找merge_requests/26/coverage_reports.json HTTP 请求,但该请求为空(更具体地说,响应为{"files":{}}),我认为这不应该发生。
我正在使用 Python 2.7-32 和 Coverage.py 来获取报告。我的 GitLab 是自托管的,版本为 14.9.5-ee。 Here 是下载我的coverage.xml 的链接。这不是完整的覆盖范围,但它显示了 2 个文件,这些文件显示在 MR 的差异中,但没有覆盖信息。
【问题讨论】:
标签: python gitlab gitlab-ci code-coverage tox