【问题标题】:NUnit: Global setup fixture not used when fixture to run is specified on command lineNUnit:在命令行上指定要运行的夹具时不使用全局设置夹具
【发布时间】:2011-08-18 06:34:08
【问题描述】:

我有一个使用 NUnit 的单元测试程序集,其中包含各种命名空间和固定装置中的数千个测试。

我想在我的程序集中的任何测试运行之前运行一些全局设置(配置跟踪侦听器)。我可以通过在全局命名空间中创建 [SetUpFixture] 来做到这一点。

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

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

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

更新:

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

【问题讨论】:

  • 您使用的是哪个版本的 NUnit?
  • @sllev - NUnit 2.5.5。还使用最新的稳定版本 2.5.10.11092 进行了测试。
  • 发布您的问题作为答案,它对我有帮助。
  • @konrad.kruczynski - 我会发布其他人的答案,希望这对你也有帮助:)

标签: unit-testing nunit


【解决方案1】:

Charlie Poole 在NUnit discussion forum 中提出了替代方案。

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

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

附: /fixture 选项这些天已被弃用。

【讨论】:

    猜你喜欢
    • 2014-12-28
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多