0

我有 .net framework 4.6 开发的 ac# windows 应用程序。
我已经使用 vstest.console.exe 运行以下命令来生成 .trx 文件,其中包含有关代码覆盖率和测试用例的信息。
Bamboo 的 MSTest Parser 能够读取 trx 文件并读取通过和失败的测试用例数。

如何阅读同一个文件来理解代码覆盖率报告?
我通过在记事本中打开它来浏览 trx 文件。最后有一个部分包含有关代码覆盖率的一些信息。

<ResultSummary outcome="Completed">
   <Counters total="91" executed="91" passed="91" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
   <CollectorDataEntries>
      <Collector agentName="mysystem" uri="datacollector://microsoft/CodeCoverage/2.0" collectorDisplayName="Code Coverage">
         <UriAttachments>
            <UriAttachment>
               <A href="mysystem\cpsvizuser_mysystem 2019-10-31 05_36_09.coverage" />
            </UriAttachment>
         </UriAttachments>
      </Collector>
   </CollectorDataEntries>
</ResultSummary>

没有提到代码覆盖率的百分比。任何人都可以帮助从 .trx 文件中提取代码覆盖率值。我需要实际生成一个 XML 文件并将结果发布到 sonarqube。在这件事上的任何帮助都是有帮助的。

4

2 回答 2

1

.coverage中列出的文件UriAttachment是包含代码覆盖率数据的二进制文件。CodeCoverage.exe您可以使用VS Enterprise 附带的工具将其转换为 XML 格式(大概与您最初用于收集覆盖数据的工具相同)。

有关更多信息,请参阅此有用页面

于 2019-11-06T16:30:03.030 回答
0

您将需要使用另一个包来计算代码覆盖率。我在Coverlet上取得了成功,这是一个免费的开源解决方案。还有很多商业解决方案,例如NCover或 JetBrain 的dotCover

于 2019-10-31T11:00:02.557 回答