【问题标题】:How to get nunit runners generated nunit-report.xml file in teardown如何在拆解中获取 nunit 跑步者生成的 nunit-report.xml 文件
【发布时间】:2018-01-12 13:09:21
【问题描述】:

我目前正在运行一套测试,并在 TestFixtureTearDown 中查找“nunit-report.xml”并生成带有结果的网页。问题是 nunit 不会生成这个文件,直到它运行完拆解。有什么方法可以在代码中使用 c# 来终止 nunit 吗?

【问题讨论】:

    标签: c# xamarin nunit nunit-console


    【解决方案1】:

    NUnit 在测试完成后生成它的 XML 输出。这是有道理的,因为在测试全部运行之后才能获得生成报告的信息。

    您可能没有意识到您的TestFixtureTearDown 是您测试的一部分。例如,即使到目前为止一切正常,TestFixtureTearDown 也可能会引发异常并给您错误结果。当然,在 TestFixtureTearDown 为特定的夹具完成时,您可能还有不止一个夹具需要运行。

    上述情况适用于所有版本的 NUnit。你可以做些什么在 NUnit V2 和 NUnit 3 之间有所不同。因为你使用术语TestFixtureTearDown,我将首先假设一个旧版本的 NUnit...

    在 NUnit V2 中,XML 输出由控制台运行程序本身生成。直到跑步者退出后才可用。如果您想编写代码来从中生成报告,则必须编写一个单独的程序,在测试完成后运行该程序。

    在 NUnit 3 中,输出由引擎创建,但仍应控制台运行程序的请求。不同之处在于 NUnit 3 支持对引擎的扩展。您可以将代码编写为报表编写器扩展并从命令行调用它。使用您编写的适当扩展名,您可以使用 nunit3-console mytest.dll --result:myreport.html;format:myhtml 调用 NUnit

    NUnit3 还使您能够基于 xslt 转换创建新的输出格式,如果这种东西对您有吸引力的话。 :-)

    【讨论】:

    • 感谢您的回复@Charlie 我正在使用旧版本的 Nunit,因为我正在 Xamarin UI Test 中编写测试,它们仅支持 2.6.4 版本。我了解问题所在,但希望有某种方法可以调用 xml 报告文件的创建。如果不可能,那么我将在套件运行后继续运行代码以从报告中生成我的结果页面。
    猜你喜欢
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多