有没有办法从MSTest获得测试结果和覆盖html报告

时间:2009-02-24 12:30:26

标签: unit-testing report mstest code-coverage

我希望能够根据MSTest创建的Results.trxdata.coverage文件生成基于HTML的报告。理想情况下,这只列出任何失败,并显示一些基本的覆盖统计数据。

有没有人知道这样做的工具?

9 个答案:

答案 0 :(得分:3)

实际上我们使用开源工具Trx2Html

来做到这一点

它非常简单 - 获取trx文件并输出html。 VS2005 trx和VS2008 trx有特定版本。

答案 1 :(得分:1)

您可以使用 TRXER 工具从trx文件生成HTML报告。从here

下载TrxerConsole.exe文件
  1. 构建/重建项目以创建.dll文件。
  2. 如果您的项目名称为UnitTest1,则.dll文件名将为UnitTest1.dll。转到.dll的位置,例如

C:\ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll

  1. 打开 Visual Studio 2019的开发人员命令提示符
  2. 运行命令以设置位置

cd C:\ Users \ NAME \ source \ repos \ UnitTest1 \ UnitTest1 \ bin \ Debug \ netcoreapp3.1 \ UnitTest1.dll

  1. 运行命令以生成trx文件:

vstest.console.exe UnitTest1.dll / logger:trx

  1. Trx文件将在文件夹 TestReults 中生成,该文件夹与项目dll文件所在的位置相同。

  2. 如果正在下载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

  1. HTML文件将在同一TestResults文件夹中生成。

link来引用

您的报告将如下所示:

Reports

答案 2 :(得分:0)

您可以发布到报表服务器,然后可以从Web界面获取报表。

答案 3 :(得分:0)

(我在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。哪个不适合这里。我希望他们有办法上传文件。给我发电子邮件给亚历克斯点hutton在hotmail,我可以让你的xsl显示该覆盖

答案 4 :(得分:0)

trx文件是相当简单的xml文档,可以使用XSLT轻松处理,以生成灵活的自定义报告。

如果您使用google trx和xslt,则可以找到一些示例来帮助您入门。

答案 5 :(得分:0)

答案 6 :(得分:0)

我为此添加了一个codeplex项目,您可以从trx生成html,并将代码覆盖率数据添加到同一报告中。 http://trxtohtml.codeplex.com/

答案 7 :(得分:0)

尝试新的trx2html.codeplex.com它不是基于XSLT,而是在LINQ2XML中,所以它更容易扩展

答案 8 :(得分:0)

  

我正在编写一个简单的批处理文件,将您的XML报告转换为HTML

先决条件

  1. here
  2. 下载 trx2html.exe
  3. 将其粘贴到计算机上生成XML文件的任何位置
  4. 创建 report.bat 文件并粘贴下面给出的代码

    @echo off :: *********常量****************** *********************************************** 设置“trxFileName = TestResult”
    设置“trx2html_path = C:\ Users \ Desktop \ 0.6 \ TrxerConsole.exe” :: ********* ****************

    echo ------------------------“生成测试报告”----------------- ----------------------------- %trx2html_path%“。\ Results \%trxFileName%”

    echo -----------------------“在位置生成的测试报告=。\ Results \%trxFileName%”-------- ---- 暂停