如何为自定义 NUnit Test Runner 指定测试超时?
How do I specify test timeout for custom NUnit Test Runner?
我运行 从代码进行单元测试,我的测试可以无限长。 NUnit 保持 运行ning 直到所有测试都关闭,因此我的测试会话永远不会关闭。
// 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? Perhaps by specifying .runsettings
, or using ISettings 的情况下指定超时?
我尝试启动一个超时任务,但是,这阻止了我看到失败的测试,这在我的用例中是强制性的。
NUnit 引擎仅从 TestPackage
读取设置。 运行 用户使用您列出的其他方法来定制他们添加到 TestPackage
的内容。
要设置适用于 运行 中所有测试的一般超时,请使用类似这样的内容...
package.AddSetting("DefaultTimeOut", 4000);
以上将在取消前给每个单独的测试用例 4 秒。
只能通过属性单独设置测试用例的超时。
我运行 从代码进行单元测试,我的测试可以无限长。 NUnit 保持 运行ning 直到所有测试都关闭,因此我的测试会话永远不会关闭。
// 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? Perhaps by specifying .runsettings
, or using ISettings 的情况下指定超时?
我尝试启动一个超时任务,但是,这阻止了我看到失败的测试,这在我的用例中是强制性的。
NUnit 引擎仅从 TestPackage
读取设置。 运行 用户使用您列出的其他方法来定制他们添加到 TestPackage
的内容。
要设置适用于 运行 中所有测试的一般超时,请使用类似这样的内容...
package.AddSetting("DefaultTimeOut", 4000);
以上将在取消前给每个单独的测试用例 4 秒。
只能通过属性单独设置测试用例的超时。