我有一个带有VSTest任务的Azure构建管道,该管道以'.coverage'格式生成代码覆盖率。我需要将其发布回构建结果页面中的“代码覆盖率”标签。仅下载代码覆盖范围结果可用。如何使用“ .coverage”文件发布代码覆盖率?
我已经尝试过ReportGenerator
工具,但是当我将'.coverage'文件作为报告文件传递给该工具时,它会将覆盖率报告作为零覆盖率返回。当我使用Visual Studio打开覆盖率文件时,它会显示覆盖率。
答案 0 :(得分:0)
我有同样的问题,只是想通了。我从一个简单的Exec
任务开始使用MsBuild进行测试,并将日志记录命令嵌入为Message
任务。当然,您可以使用PowerShell或其他方法产生相同的输出。
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion="14.0"
DefaultTargets="ReportCoverage"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
..
<Target Name="ReportCoverage">
..
<ItemGroup>
<CoverageResults Include="$(BinDir)\Reports\*.coverage" />
</ItemGroup>
<Message
Text="##vso[task.addattachment type=Distributedtask.Core.CodeCoverage;name=CodeCoverage;]$(CoverageResults)"
Importance="High"
Condition="'%(CoverageResults.Identity)' != ''"/>
</Target>
</Project>