在进行 Jenkins 构建时,如何忽略某个类别的 NUnit 测试?

Hca*_*tek 5 c# continuous-integration nunit hudson jenkins

在进行 Jenkins 构建时,如何忽略某个类别的 NUnit 测试?我知道如何在 Team City 中做到这一点。我们的生产环境使用 Jenkins,而我们的开发人员使用 Team City。在 Jenkins 上进行生产构建时,我需要忽略一些测试(数据库集成)。任何链接、提示或代码当然都值得赞赏。

[Test, Category("DBExclude")]
public void WidgetRepository_FindById_ReturnsWidget()
{
   //I should not run on Jenkins
}
Run Code Online (Sandbox Code Playgroud)

谢谢大家!

小智 5

如果您使用 Windows Batch 命令来执行 NUnit 测试作为 Jenkins 作业的一部分,您可以简单地在您分配给测试的类别上使用命令行选项“/exclude”。对于您给出的示例,该命令类似于...

nunit-console /exclude:DBExclude nunit.tests.dll
Run Code Online (Sandbox Code Playgroud)

而且,只是为了记录,您可以以另一种方式进行并选择运行具有特定类别的测试,而不是仅使用以下类别运行测试(再次使用您的示例):

nunit-console /include:DBExclude nunit.tests.dll
Run Code Online (Sandbox Code Playgroud)

NUnit 的文档详细说明了这些选项以及更多信息:NUnit 文档