Azure devops Azure DevOps中的控制代码覆盖率附件

Azure devops Azure DevOps中的控制代码覆盖率附件,azure-devops,code-coverage,azure-pipelines,Azure Devops,Code Coverage,Azure Pipelines,在多阶段、yaml配置的CI管道中,通过我生成的矩阵策略在Windows和Linux中构建: Linux操作系统中的.cobertura.xml文件,用于通过生成聚合报告,可从AzureDevops的coverage选项卡访问该报告。我在这个操作系统中明确使用了PublishCodeCoverageResults Windows操作系统中的.coverage文件,用于向SonarCloud提供覆盖率数据。我没有在这个操作系统中使用PublishCodeCoverageResults 我的问题

在多阶段、yaml配置的CI管道中,通过我生成的矩阵策略在Windows和Linux中构建:

  • Linux操作系统中的
    .cobertura.xml
    文件,用于通过生成聚合报告,可从AzureDevops的coverage选项卡访问该报告。我在这个操作系统中明确使用了
    PublishCodeCoverageResults

  • Windows操作系统中的
    .coverage
    文件,用于向SonarCloud提供覆盖率数据。我没有在这个操作系统中使用
    PublishCodeCoverageResults

我的问题是
.coverage
文件覆盖了coverage选项卡中的预期报告,允许我下载它而不是查看报告。我怎样才能避免呢?有没有办法摆脱附件以正确显示报告


如果我不运行Windows部件,则报告将被删除

如果我这样做,我得到的不是报告


我已尝试删除管道末端的
.coverage
文件,但coverage选项卡中的“附件”仍保留在那里。

据我所知,您希望下载Available,而不是像这样显示代码覆盖率:

但您的代码覆盖率也可以作为工件提供:

因此,您仍然可以下载它:

它对你有帮助吗?

回答:

这不是一个bug,行为的设计与.coverage一样 报告优先于其他报告

我的建议是停止将测试运行作为测试的一部分发布 windows中的dotnet任务。这样做是有选择的

将trx和覆盖范围文件复制到不同的位置。上传 使用“发布测试结果”任务创建trx文件,但请确保 覆盖率文件不可用于此发布


嗯,不完全是,我只需要显示代码覆盖率。但是,我只得到这样一个结果:当我没有生成
.coverage
文件时,我可以看到它:当然可以,但请记住,它只是在其他操作系统中没有生成
.coverage
文件时才起作用。