我们在Azure DevOps中使用私有git存储库,我需要跨git存储库创建代码覆盖率报告。我们的构建CI / CD管道同时使用TeamCity和Azure DevOps。
我已经研究了选项,但没有直接解决此问题的方法。我正在考虑以下选项:


使用诸如coveralls.io之类的服务,可以选择添加私有存储库。缺点是使用TeamCity SonarQube插件提供基于订阅的服务;它不是理想的,并且仅限于插件功能。我还没有尝试过。 Azure DevOps和TeamCity都提供了可用于获取数据的REST API。

我仍然需要Azure Azure的构建解决方案,但是我必须承认我还没有对此进行适当的研究。 />
有人进行过跨存储库代码覆盖率报告,什么方法/工具可能是最好的?

#1 楼

如果像我一样使用python和GitLab,则可以在CI / CD管道中包括测试覆盖率报告。您是pip install coverage,然后在管道中运行coverage。以下是AWS lambda管道的摘录,但您应该能够找到与您的环境类似的内容:

 script:
    - pip install -r ./awslambda/requirements.txt
    - coverage run -m unittest discover -v -s "./awslambda" -p "*_test.py"
    - coverage report


上面的代码生成了一个不错的代码覆盖率报告,并且对于Python,AWS和GitLab,它是免费的。

评论


谢谢,但是我需要在Azure DevOps版本中实现类似的功能。

–艾米尔
18年11月28日在16:21

#2 楼

您可以使用sonarqube。它不会生成自己的测试覆盖率报告,而是重新使用现有管道的覆盖率文件。