我通过控制台运行器使用NUnit3。在我的测试用例中,我写了一些输出如下:
TestContext.Out.WriteLine($"Tested product: {productName}");
TestContext.Out.WriteLine($"Backend: {backend}");
TestContext.Out.WriteLine($"Tester Version: {testerVersion}");
这些在.xml报告中显示得很好:
<output><![CDATA[XLA Standard Version: 2.2.0
Backend: TCP
Tester Version: 2.0.0.0
Local RTC version: 2.0.0.0
]]></output>
但由于.xml结果几乎不为人所知,因此我通过向控制台运行程序添加以下参数来使用HTML转换:
--result=TestResult.html;transform=html-report-bootstrap.xslt
然后,这将把.xml报告转换为一个漂亮的.html报告。但遗憾的是,报告中缺少所有输出。我尝试了NUnit存储库中的不同.xslt文件,但似乎没有一个保留输出。
在HTML报告中显示的测试用例中创建输出的正确方法是什么?
2条答案
按热度按时间fwzugrvs1#
你可能已经找到了解决方案,但我遇到了同样的问题,并张贴我的解决方案,希望它可以帮助别人。
输出语句在转换时正确地包含在html文件中,并在单击测试名称时显示。但真实的的问题是,当我们单击测试名称时,什么也没有发生。单击事件不起作用,因为
bootstrap js
文件的script
标记在转换为html时没有正确转换。因此,在任何编辑器中打开
html-report-bootstrap.xslt
,您将发现在结尾处添加的3 .js文件如下所示:但是当它被转换为html文件时,所有3个js文件都被添加了
self-closing script
标签,并且它在Chrome / Firefox浏览器中不起作用。所以测试名称上的单击事件不起作用。检查这个问题here以获取更多信息。作为临时解决方案,我修改了
html-report-bootstrap.xslt
文件,并在标签之间添加了一些JS,如下所示:所以现在当它被转换为html时,没有更多的
self-closing script tag
,当点击Test Name时,你可以看到你的输出语句,如下所示:pepwfjgg2#
我最近在为C#测试生成Allure报告,我可以分享我的发现。
有许多NUnit测试报告适配器可供使用,但我成功地安装和使用了Nure和Allure(这实际上非常受欢迎,维护并具有许多功能)
PS:如果你需要额外的安装和使用的详细步骤,你可以检查我的笔记: