如何将NUnit的输出转换为HTML报告

36

有没有什么好的工具,如XSLT等,可以从NUnit的XML输出生成HTML报告?

我们目前正在使用NUnit 2.5.5对我们的代码库运行多个测试。开发团队很高兴在GUI和控制台运行程序中看到输出,以及在我们的Hudson服务器上显示的报告。

Hudson生成的报告需要用户单击链接来深入了解某些详细信息。我想制作一个适合向管理层和/或客户展示的单一文档报告。

到目前为止,我唯一找到的工具是http://nunit2report.sourceforge.net/,它自2003年以来没有更新,基于旧版本的NUnit(我认为报告格式可能已经发生了显着变化),并且是nant任务(我们不使用nant)。

在我花费太长时间尝试修改nunit2reports的xslt以适应最近的NUnit输出之前,有人能指点我一个更合适的工具吗?

非常感谢。


2
如果您使用NUnit 3+版本,请参阅此问题 - https://dev59.com/9ZPfa4cB1Zd3GeqPHsUh - Manushin Igor
6个回答

23

ReportUnit不再维护,正在被extentreports-dotnet-cli替代。


您也可以尝试使用ReportUnit,它还支持Gallio、xUnit、TestNG和MSTest:http://reportunit.relevantcodes.com

这是一个简单的exe文件,可以将xml报告转换为HTML仪表板(样例):

用法:

reportunit "path-to-folder" // folder-level report
reportunit "path-to-folder" "output-folder" // folder-level report
reportunit "Result.xml" "generated.html" // file-level report

更多信息请查看:http://reportunit.relevantcodes.com


很好,但请注意ReportUnit使用Google可视化API以及其他在线资源。离线时,HTML文件不太美观。 - Helix Quar
网站似乎无法访问或存在损坏的链接。 - David Gardiner
是的,该网站已经崩溃了,但你可以在谷歌上搜索该网站,选择“缓存”,然后从那里访问他们的git仓库https://github.com/reportunit/reportunit。实际上,即使使用nunit3-console xml结果,它也可以正常工作。 - Sasha Bond
2017年的评论,“ReportUnit 1.2.1”仍然可以与我们从“NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe”获取的“TestResult.xml”一起使用。但它已经不再处于活跃开发状态。Github存储库没有标记v1.2.1版本发布,因此我无法进行更改。最新的v1.5.0 HTML输出效果不如预期(它显示结果,但无法响应按钮、复选框等的点击...) - Thach Lockevn
ReportUnit已不再受支持,已被https://github.com/extent-framework/extentreports-dotnet-cli取代,后者是Extent Framework的一部分。截至本评论,cli处于alpha版本,并已测试可与NUnit 2.x和3.x配合使用。它将很快可用于Nuget。 - foursyth

22

我知道这是一个老问题,但它在谷歌上的排名很高,所以我认为它值得一提。在我的工作中也遇到了完全相同的问题,因此我们开发了一个小应用程序,可以解析XML结果文件,并根据Bootstrap 3生成漂亮的自包含HTML页面。代码和二进制文件可以在GitHub上获取。由于我们将报告通过电子邮件发送到移动设备上,因此它还具有响应式布局。


感谢您发布这篇文章。它生成的报告也很不错。 - dmeehan
你能提供一步一步详细说明如何使用吗? - ken4ward
1
自述文件中应该有足够的细节来解释如何使用项目。请查看标准用法部分,了解其工作原理的示例:https://github.com/JatechUK/NUnit-HTML-Report-Generator#standard-usage - Luke
干得好 - 谢谢。在https://github.com/SongArc/NUnit-HTML-Report-Generator上有一个NUnit V3的分支...但你应该检查原始版本的网络图以查看是否是最新和最好的。 - CAD bloke
看起来已经有一段时间没有对其进行活跃的工作了(没有Nunit3支持),并且有很多未合并的分支。 - Eternal21

14

对于任何有兴趣的人,我找到了另外两个工具。

这两个工具都可以在Lauchpad上获得,与上述非常基本的产品页面相链接。

不幸的是,这些工具都没有提供我们安装所需的详细级别 - 所以我最终使用了随nunit2report提供的xslt文件来满足我们的需求。


5
你能否分享你创作的XSLT代码呢?:) - solrevdev
@solrev - 它在另一个没有互联网连接的系统上。我下次去那里时会看看能否带一份副本分享... - Grhm
现在这些都是404错误。 - Chris S
@Chris S,我已更新链接。希望这更有用——尽管似乎这些项目多年来都没有被更新... - Grhm

6

2
有没有一个白痴级别的指南来安装和使用它? - Epligam
2
@Epligam 只需在他们的 Github 页面上单击“一些链接”。以下是使其适用于 NUnit 的步骤:https://github.com/GHPReporter/Ghpr.NUnit - Eternal21

3

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接