【问题标题】:Not Getting Azure DevOps Code Coverage Information From Azure DevOps Services REST APIs未从 Azure DevOps Services REST API 获取 Azure DevOps 代码覆盖率信息
【发布时间】:2020-02-13 15:27:02
【问题描述】:

我已经能够在 azure devops 构建管道中生成 Angular 4 代码覆盖率。

Screenshot Of Generated Code Coverage

Screenshot Of Code Coverage Summary

但现在我想从 Azure DevOps Services REST API 获取构建覆盖率详细信息。

我正在调用 REST API

https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags={flags}&api-version=5.1-preview.1

我的 azure build,如

中所述

https://docs.microsoft.com/en-us/rest/api/azure/devops/test/code%20coverage/get%20build%20code%20coverage?view=azure-devops-rest-5.1.

但每次我收到{"value":[],"count":0} 作为回复。

我需要从 Azure DevOps Services REST API 获取覆盖信息,以便将其附加到电子邮件中。从这个论坛寻求这方面的帮助。

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task azure-devops-rest-api


    【解决方案1】:

    您可以删除flags 参数并制作这样的网址以检查响应正文是否符合您的预期。

    https://dev.azure.com/{orgname}/{projectname}/_apis/test/codecoverage?buildId={buildId}&api-version=5.1-preview.1
    

    另外,如果你只是想在Email中追加,你可以使用Publish codecoverage results Task来获取codecoverage artifact并追加到Email中。关于这个任务更详细的信息,可以参考https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops

    【讨论】:

    • 感谢您的及时回复,弗兰克。通过删除 flags 参数,我得到了分支覆盖和行覆盖的结果。有没有其他 api 可以提供更多关于代码覆盖率的信息?
    • 此外,我通过此 api 获得的分支覆盖率与构建管道代码覆盖率选项卡中显示的不同(问题中更新了屏幕截图),但行覆盖率是正确的,任何关于这个问题@Frank Wang-MSFT。 响应片段 -> "coverageData":[ { "coverageStats":[ { "label":"Branches", "position":6, "total" :9844, "覆盖":6179, "isDeltaAvailable":false, "delta":0.0 },
    • 如果使用网络工具获取数据,响应数据与UI网页中的数据有区别吗?像这样。i.stack.imgur.com/w3N3f.png
    • 是的,弗兰克。网络工具中的响应数据与 UI 中的不同,但仅在分支覆盖的情况下。在线路覆盖的情况下,响应和 UI 中的数据都是相同的。
    • @Shubho,如果方便,您能否分享一个关于 onedrive 中的分支测试的简单代码示例?然后我可以在我这边测试它并尝试找到解决它的方法。
    猜你喜欢
    • 2021-02-21
    • 2022-01-12
    • 2021-05-25
    • 2020-07-08
    • 2020-05-22
    • 2021-08-13
    • 1970-01-01
    • 2019-10-21
    • 2021-02-11
    相关资源
    最近更新 更多