0

我有一些对时间敏感的单元测试:一个动作是定时的,如果时间太长就会触发一个错误。当单独运行时,这些测试通过,但是当在我的模块上递归运行nosetest时,它们经常失败。我运行并发测试,这可能是时间关闭的原因之一。有什么方法可以表明我希望这个测试能够不间断地运行吗?

4

1 回答 1

1

我认为您的问题取决于您如何实施时间安排。我个人采用的解决方案是设置一个控制测试行为的环境变量。候选人可能是:

  • if WITH_TIMING == False[完全关闭计时]
  • TIME_STRETCH_FACTOR = ...[在运行并发测试的情况下应用时间拉伸乘数,例如,如果时间限制为TIME_STRETCH_FACTOR1.5,则 5 将变为 7.5]

如果这不是一个选项,一个可能的丑陋解决方法是模拟该time.time()函数,使其返回一个常量值[time.time()当然,这只有在您直接在测试中使用时才有效]...

高温高压

于 2011-11-23T12:39:47.023 回答