【问题标题】:How do I specify test timeout for custom NUnit Test Runner?如何为自定义 NUnit Test Runner 指定测试超时?
【发布时间】:2021-02-03 10:34:33
【问题描述】:

我从代码运行单元测试,我的测试可以无限长。 NUnit 一直运行直到所有测试都关闭,因此我的测试会话永远不会关闭。

// Get an interface to the engine
Engine.ITestEngine engine = Engine.TestEngineActivator.CreateInstance();

// Create a simple test package - one assembly, no special settings
Engine.TestPackage package = new Engine.TestPackage(_testProjectAssemblyPath);

// Get a runner for the test package
var runner = engine.GetRunner(package);

XmlNode testSessionResult = runner.Run(listener: new Listener1(), Engine.TestFilter.Empty);

是否可以在不使用Timeout NUnit attribute 的情况下指定超时?也许通过指定.runsettings,或使用ISettings

我尝试在超时的情况下启动任务,但是,这会阻止我看到失败的测试,这在我的用例中是强制性的。

【问题讨论】:

    标签: c# .net unit-testing nunit


    【解决方案1】:

    NUnit 引擎仅从 TestPackage 读取设置。跑步者使用您列出的其他方法来定制他们添加到TestPackage 的内容。

    要设置适用于运行中所有测试的一般超时,请使用类似这样的内容...

    package.AddSetting("DefaultTimeOut", 4000);
    

    以上将在取消之前为每个单独的测试用例提供 4 秒。

    只能通过属性单独设置测试用例的超时时间。

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多