如何在拆解中让 nunit runners 生成 nunit-report.xml 文件

How to get nunit runners generated nunit-report.xml file in teardown

我目前 运行 一套测试,我在 TestFixtureTearDown 中查找 "nunit-report.xml" 并生成包含结果的网页。问题是这个文件只有在 运行 通过拆解后才会由 nunit 生成。有什么方法可以在拆卸时使用 C# 终止代码中的 nunit 吗?

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

之后才可用

您可能没有意识到,您的 TestFixtureTearDown 测试的一部分 。例如,即使到那时一切正常,TestFixtureTearDown 也可能抛出异常并给出错误结果。当然,在 TestFixtureTearDown 完成某个特定灯具时,您可能有多个灯具仍需 运行。

以上内容适用于所有版本的 NUnit。在 NUnit V2 和 NUnit 3 之间,您可以采取的措施有所不同。既然您使用了术语 TestFixtureTearDown,我将首先假设 NUnit 的旧版本...

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

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

调用 NUnit

NUnit3 还使您能够根据 xslt 转换创建新的输出格式(如果您对此感兴趣的话)。 :-)