NUnit最大超时值



我有一些测试非常慢,我想将超时时间设置为15分钟。

作为测试目的,我有这个例子:

[Test, Timeout(900000)]
public void Test1()
{
    Thread.Sleep(900001);
}

一段时间后测试停止,没有错误。

正确的做法是什么?

如您所知,Thread.Sleep和NUnit的TimeoutAttribute都以毫秒为单位花费时间。由于线程调度和一般计时器精度的原因,指定彼此相差1毫秒的时间不足以保证超时。关于Thread.Sleep的精度的更多讨论,以及扩展NUnit的超时线程的精度,请参阅这个答案。

尝试指定两个数字之间更大的差异,我想你会看到它的行为正如你所期望的那样。例如,休眠900100毫秒,并保持超时值不变。使用15分钟的超时时间,您不会注意到等待超时的额外十分之一秒。

相关内容

  • 没有找到相关文章

最新更新