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

时间:2011-08-18 06:34:09

标签: unit-testing nunit

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

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

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

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

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

更新

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

1 个答案:

答案 0 :(得分:7)

查理普尔在NUnit discussion forum中提出了另一种选择。

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

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

P.S。 / fixture选项不推荐使用。