NUnit:在命令行上指定运行夹具时未使用的全局设置夹具

Erg*_*wun 6 nunit unit-testing

我有一个使用NUnit的单元测试程序集,它包含各种命名空间和数据库中的数千个测试.

我想在运行程序集中的任何测试之前运行一些全局设置(配置跟踪侦听器).我可以通过[SetUpFixture]在全局命名空间中创建一个来完成此操作.

这在运行所有测试时工作正常,例如:
nunit.exe testassembly.exe

但是,如果我指定要测试的夹具,则不会运行全局设置,例如:
nunit.exe testassembly.exe /fixture=MyTests

如何在运行程序集中的任何测试之前提供始终运行的全局设置?

更新:

请注意,控制台测试运行器将使用该/run选项正常工作,即即使仅运行特定测试夹具也会运行全局设置.我正在寻找GUI测试运行器的解决方案.

Erg*_*wun 7

查理普尔在NUnit讨论论坛中提出了另一种选择.

建议的解决方法是使用[TestFixtureSetup]和包括夹具级别的所有设置和拆卸[TestFixtureTearDown].

通过使用测试夹具的基类来在夹具之间共享代码,可以像这样实现全局设置和拆卸.对于仅在任何夹具之前运行一次的全局设置,可以使用标志来防止它被多次执行.

PS/fixture选项已弃用.