我有一个在.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="mysystemcpsvizuser_mysystem 2019-10-31 05_36_09.coverage" />
</UriAttachment>
</UriAttachments>
</Collector>
</CollectorDataEntries>
</ResultSummary>
没有提到代码覆盖率的百分比。有人能帮助从.trx文件中提取代码覆盖率值吗。我需要实际生成一个XML文件,并将结果发布到sonarqube。在这件事上任何帮助都是有帮助的。
UriAttachment
中列出的.coverage
文件是一个包含代码覆盖率数据的二进制文件。您可以使用VS Enterprise附带的CodeCoverage.exe
工具(可能与您最初用于收集覆盖率数据的工具相同(将其转换为XML格式。
有关详细信息,请参阅此有用页面。
您将需要使用另一个包来计算代码覆盖率。我在Coverlet上取得了成功,这是一个免费的开源解决方案。还有很多商业解决方案,如NCover或JetBrain的dotCover。