我希望能够从 MSTest 创建的Results.trx
和data.coverage
文件中生成基于 HTML 的报告。理想情况下,这只会列出所有故障,并显示一些基本的覆盖率统计信息。
有谁知道这样做的工具?
我希望能够从 MSTest 创建的Results.trx
和data.coverage
文件中生成基于 HTML 的报告。理想情况下,这只会列出所有故障,并显示一些基本的覆盖率统计信息。
有谁知道这样做的工具?
您可以使用TRXER工具从 trx 文件生成 HTML 报告。从这里下载 TrxerConsole.exe 文件
C:\Users\NAME\source\repos\UnitTest1\UnitTest1\bin\Debug\netcoreapp3.1\UnitTest1.dll
cd C:\Users\NAME\source\repos\UnitTest1\UnitTest1\bin\Debug\netcoreapp3.1\UnitTest1.dll
vstest.console.exe UnitTest1.dll /logger:trx
Trx 文件将在文件夹TestReults中生成,该文件夹与项目 dll 文件所在的位置相同。
如果 TrxerConsole.exe 在下载中,则运行命令以转换为 HTML。
trxerconsole.exe 文件的路径,然后是空格,然后是 trxfile 的路径,如下所示
C:\Users\NAME\Downloads\TrxerConsole.exe C:\Users\NAME\source\repos\DesktopWithMSTest\DesktopWithMSTest\bin\Debug\netcoreapp3.1\TestResults\TestResult.trx
参考链接
您的报告将如下所示:
实际上,我们使用开源工具Trx2Html做到了这一点
它非常简单 - 获取 trx 文件并输出 html。VS2005 trx 和 VS2008 trx 有特定的版本。
trx 文件是相当简单的 xml 文档,可以使用 XSLT 轻松处理以生成灵活和定制的报告。
如果你在谷歌上搜索 trx 和 xslt,你会发现很多例子可以帮助你入门。
您可以发布到报表服务器,然后可以从 Web 界面访问报表。
(我是在 PowerShell 中完成的)
你需要这个dll
Microsoft.VisualStudio.Coverage.Analysis.dll
那么这一行将把 .coverage 变成一个 xml 文件(.trx 已经是)
$dataStore = ([Microsoft.VisualStudio.CodeCoverage.CoverageInfoManager]::CreateInfoFromFile("$homeDir\tests.coverage")).BuildDataSet($null)
$dataStore.WriteXml("$homeDir\Coverage.xml")
然后,您可以使用来自 Cruisecontrol.net 的 MsTest xsl 文件将测试结果转换为漂亮的 html 格式,并且我有一个用于覆盖范围的 XSL。不适合这里。我希望他们有办法上传文件。在 hotmail 给我发电子邮件给我 alex dot hutton,我可以给你 xsl 以显示该覆盖范围
我为此添加了一个 codeplex 项目,您可以从 trx 生成 html 以及将代码覆盖率数据添加到同一个报告中。http://trxtohtml.codeplex.com/
尝试新的 trx2html.codeplex.com,它不是基于 XSLT,而是基于 LINQ2XML,因此更容易扩展
我正在编写一个简单的批处理文件来将您的 XML 报告转换为 HTML
创建一个report.bat文件并粘贴下面给出的代码
@echo off ::**********************************常量*************** ******************************************************设置“trxFileName=TestResult”
设置“trx2html_path=C:\Users\Desktop\0.6\TrxerConsole.exe”::****************************** ****************************************************** *****************
echo ------------"生成测试报告"-------- -------------------------- %trx2html_path% ".\Results\%trxFileName%"
echo -----------"在位置生成的测试报告=.\Results\%trxFileName%"----------- - 暂停