如何使用Nunit自定义结果编写器

时间:2018-06-13 09:52:31

标签: c# .net nunit nunit-3.0 nunit-console

https://github.com/nunit/docs/wiki/Result-Writers

我正在尝试使用Nunit为我的应用程序编写自定义结果。但我没有到达任何地方,因为我无法找到任何关于如何实施的样本。有什么想法吗?

[Extension]
[ExtensionProperty("Format", "custom")]
public class CustomResultWriterFactory : IResultWriter
{
    ...
}

1 个答案:

答案 0 :(得分:0)

似乎您的问题并不是关于如何实现编写器(因为您已经完成了),而是如何安装它以便NUnit将使用它。那是对的吗?无论如何,这就是我所回答的。 : - )

如果我知道你如何使用NUnit,我会更具体,因为(不幸的是)你必须要做的事情有些不同。我假设您使用NUnit控制台运行程序运行测试,因为这是使用format选项的唯一方法。此外,我假设您使用nuget包安装了控制台。如果您做了其他事情,则需要对您应遵循的步骤进行微调。

  1. 查看安装控制台运行器和引擎的目录。它应该类似于packages\NUnit.ConsoleRunner.3.8.0\tools,具体取决于您使用的版本。

  2. 您应该在该目录中看到nunit.engine.dll以及名为nunit.nuget.addins的文件。设置.addins文件以查找任何扩展包,这些扩展包也使用nuget安装。如果您有自己的扩展的nuget包并安装它,NUnit会立即找到它。但是,我们假设你不这样做。

  3. 在同一目录中,创建文件类型为.addins的新文本文件。您可以使用任何名称,只要它不与目录中的任何其他文件冲突即可。编辑文件,使其包含一行,其中包含扩展的绝对路径或相对路径。例如:

    ... \我\扩展\ CustomReportWriter.dll

  4. 使用选项--list-extensions运行控制台运行程序。您应该会看到列出的扩展程序。

  5. 运行指定--result:path/to/result/file.result.xml;format=custom的控制台。您应该获得自定义输出。

  6. 注意:如你所见,我做了很多假设,这可能是错误的。那是因为你没有在你的问题中给我们很多信息,我觉得这比仅仅说'#34;写出更好的问题更友好!"但请学习如何编写更好的问题,提供帮助您所需的所有信息。 : - )