【问题标题】:Extract code coverage report from .trx file从 .trx 文件中提取代码覆盖率报告
【发布时间】:2020-02-26 12:39:33
【问题描述】:

我有一个在 .net framework 4.6 中开发的 c# 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。在这件事上的任何帮助都是有帮助的。

【问题讨论】:

    标签: c# sonarqube code-coverage bamboo vstest.console.exe


    【解决方案1】:

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

    请参阅this helpful page 了解更多信息。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-17
        • 2014-08-21
        • 1970-01-01
        • 1970-01-01
        • 2015-05-22
        • 2012-07-20
        • 2018-06-10
        • 1970-01-01
        相关资源
        最近更新 更多