Visual Studio 如何将输出添加到NUnit HTML报告

j0pj023g  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(157)

我通过控制台运行器使用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报告中显示的测试用例中创建输出的正确方法是什么?

fwzugrvs

fwzugrvs1#

你可能已经找到了解决方案,但我遇到了同样的问题,并张贴我的解决方案,希望它可以帮助别人。
输出语句在转换时正确地包含在html文件中,并在单击测试名称时显示。但真实的的问题是,当我们单击测试名称时,什么也没有发生。单击事件不起作用,因为bootstrap js文件的script标记在转换为html时没有正确转换。
因此,在任何编辑器中打开html-report-bootstrap.xslt,您将发现在结尾处添加的3 .js文件如下所示:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js" integrity="sha384-q2kxQ16AaE6UbzuKqyBE9/u/KzioAlnx2maXQHiDX9d4/zp8Ok3f+M7DPm+Ib6IU" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.min.js" integrity="sha384-pQQkAEnwaBkjpqZ8RU1fF1AKtTcHJwFl3pblpTlHXybJjHpMYo79HY3hIi4NKxyj" crossorigin="anonymous"></script>

但是当它被转换为html文件时,所有3个js文件都被添加了self-closing script标签,并且它在Chrome / Firefox浏览器中不起作用。所以测试名称上的单击事件不起作用。检查这个问题here以获取更多信息。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js" />
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js" integrity="sha384-q2kxQ16AaE6UbzuKqyBE9/u/KzioAlnx2maXQHiDX9d4/zp8Ok3f+M7DPm+Ib6IU" crossorigin="anonymous" />
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.min.js" integrity="sha384-pQQkAEnwaBkjpqZ8RU1fF1AKtTcHJwFl3pblpTlHXybJjHpMYo79HY3hIi4NKxyj" crossorigin="anonymous" />

作为临时解决方案,我修改了html-report-bootstrap.xslt文件,并在标签之间添加了一些JS,如下所示:

//include the full path
<script src="jquery.js">let x;</script>
<script src="popper.min.js">let y;</script>
<script src="bootstrap.min.js">let z;</script>

所以现在当它被转换为html时,没有更多的self-closing script tag,当点击Test Name时,你可以看到你的输出语句,如下所示:

pepwfjgg

pepwfjgg2#

我最近在为C#测试生成Allure报告,我可以分享我的发现。
有许多NUnit测试报告适配器可供使用,但我成功地安装和使用了NureAllure(这实际上非常受欢迎,维护并具有许多功能)
PS:如果你需要额外的安装和使用的详细步骤,你可以检查我的笔记:

相关问题