Python Gitlab 中的覆盖率 CI 未显示任何百分比
Python coverage in Gitlab CI not showing any percentages
我正在尝试使 python 项目的测试覆盖率有效。而且我根本无法弄清楚为什么在测试和徽章中都没有显示百分比。
调用命令 coverage report
在日志中产生此输出:
[...]
tests/__init__.py 0 0 100%
tests/test_ml_squarer.py 4 0 100%
tests/test_squarer.py 4 0 100%
----------------------------------------------
TOTAL 17 2 88%
test_service run-test: commands[4] | coverage xml
并根据保存在 General > CI/CD 中的 regex
-expression,它只是查找旁边的 88%
TOTAL
。我使用推荐的 pytest-cov (Python) ,即 ^TOTAL.+?(\d+\%)$
根据正则表达式检查器工作。
我也运行coverage xml
和
artifacts:
reports:
cobertura: coverage.xml
这会导致文件上传成功,但我认为这对于显示基本百分比来说不是必需的:
Uploading artifacts...
Runtime platform arch=amd64 os=linux pid=29421 revision=05161b14 version=12.4.1
coverage.xml: found 1 matching files
Uploading artifacts to coordinator... ok id=8996 responseStatus=201 Created token=DXpxsGiF
无论哪种方式,它都不适合我使用:GitLab Community Edition 12.10.11。有人有什么想法吗?
幸运的是,我的一个朋友能够提供帮助,参考:
https://gitlab.com/gitlab-org/gitlab-foss/-/issues/48613
所以最后 regex
不适合,尽管它看起来很适合。我想是什么让它变得更加困难是另一个 regex
是由 Gitlab 本身推荐的。
正确的正则表达式是:
*TOTAL.*\s+(\d+%)$*
如您所见,与上面的没有(视觉)差异...
对我有用的是以下正则表达式:
TOTAL.*\s+(\d+%)
它与@Thomas L 的非常相似。我不得不删除尾随 $
。
正确匹配以下内容:
src/name/folder/script.py 38 4 89%
------------------------------------------------------------------------------
TOTAL 732 227 69%
============================= 226 passed in 1.86s ==============================
并且在pipeline状态下完美显示:
我正在尝试使 python 项目的测试覆盖率有效。而且我根本无法弄清楚为什么在测试和徽章中都没有显示百分比。
调用命令 coverage report
在日志中产生此输出:
[...]
tests/__init__.py 0 0 100%
tests/test_ml_squarer.py 4 0 100%
tests/test_squarer.py 4 0 100%
----------------------------------------------
TOTAL 17 2 88%
test_service run-test: commands[4] | coverage xml
并根据保存在 General > CI/CD 中的 regex
-expression,它只是查找旁边的 88%
TOTAL
。我使用推荐的 pytest-cov (Python) ,即 ^TOTAL.+?(\d+\%)$
根据正则表达式检查器工作。
我也运行coverage xml
和
artifacts:
reports:
cobertura: coverage.xml
这会导致文件上传成功,但我认为这对于显示基本百分比来说不是必需的:
Uploading artifacts...
Runtime platform arch=amd64 os=linux pid=29421 revision=05161b14 version=12.4.1
coverage.xml: found 1 matching files
Uploading artifacts to coordinator... ok id=8996 responseStatus=201 Created token=DXpxsGiF
无论哪种方式,它都不适合我使用:GitLab Community Edition 12.10.11。有人有什么想法吗?
幸运的是,我的一个朋友能够提供帮助,参考:
https://gitlab.com/gitlab-org/gitlab-foss/-/issues/48613
所以最后 regex
不适合,尽管它看起来很适合。我想是什么让它变得更加困难是另一个 regex
是由 Gitlab 本身推荐的。
正确的正则表达式是:
*TOTAL.*\s+(\d+%)$*
如您所见,与上面的没有(视觉)差异...
对我有用的是以下正则表达式:
TOTAL.*\s+(\d+%)
它与@Thomas L 的非常相似。我不得不删除尾随 $
。
正确匹配以下内容:
src/name/folder/script.py 38 4 89%
------------------------------------------------------------------------------
TOTAL 732 227 69%
============================= 226 passed in 1.86s ==============================
并且在pipeline状态下完美显示: