我正试图创建一个.gilab-ci.yml
步骤,用pytest+pytest-cov激活gitlab的测试覆盖率。
当前不成功的代码段
我试过:
.only-default: &only-default
only:
- merge_requests
stages:
- test
test-py:
stage: test
image: "python:3.8"
script:
- pip install -r requirements.txt
- python -m pytest -vvv src --cov-report xml --cov=src
artifacts:
reports:
cobertura: coverage.xml
在我的项目中使用的其他包中,requirements.txt
文件包含pytest和pytest-cov。
输出的关联管道:
Uploading artifacts...
coverage.xml: found 1 matching files and directories
Uploading artifacts as "cobertura" to coordinator... ok id=858390324 responseStatus=201 Created token=6uBetoBX
但是我看不到先生的新功能
有人有有效的解决方案来激活该选项吗?
参考页
https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html
这个问题的解决方案可以在gitlab repo中的问题中找到:
https://gitlab.com/gitlab-org/gitlab/-/issues/285086
文档指出,需要coverage.py才能将报告转换为使用完整的相对路径。没有转换,信息就不会显示。
因此,在您的示例中,而不是:
- python -m pytest -vvv src --cov-report xml --cov=src
Do:
- python -m pytest -vvv src --cov=src
- coverage xml -o coverage.xml