Ami*_*mir 1 continuous-integration code-coverage gitlab docker gitlab-ci
我曾经Docker-dind
构建和测试我的 python 代码。我混淆了如何在gitlab-ci
以下两个选项之间运行覆盖。
1) Gitlab 本身有覆盖范围[这里]
2)我遵循python的覆盖教程并使用以下内容创建自己的覆盖范围:
coverage:
stage: test
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE python -m coverage run tests/tests.py
- docker run $CONTAINER_TEST_IMAGE python -m coverage report -m
Run Code Online (Sandbox Code Playgroud)
当 gitlab 抛出异常时No data to report.
:
我猜coverage report
命令无法访问/查找.coverage
容器中的文件。
所以我的问题是coverage
在这种情况下运行的优雅方式是什么?
由于const 的回答已经使第一部分变得更容易,即获得覆盖细节,我已经尝试解决how to get reports?
这是由Gitlab 覆盖范围文档给出的。所以你的coverage
工作必须这样写
coverage:
stage: test
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker run $CONTAINER_TEST_IMAGE /bin/bash -c "python -m coverage run tests/tests.py && python -m coverage report -m"
coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
Run Code Online (Sandbox Code Playgroud)
mondwan 博客中提到了正则表达式
如果您在README.md
文件中添加以下行,您将获得一个很好的徽章(在主 README.md 中),用于捕获您的覆盖范围详细信息。
[](https://gitlaburl.com/group_name/project_name/commits/master)
归档时间: |
|
查看次数: |
4458 次 |
最近记录: |