使鼻子失败慢慢测试

时间:2011-07-01 13:20:13

标签: python unit-testing nose

我希望我的测试失败,如果他们花费的时间超过一定的时间(比如说500毫秒),因为当一点点慢的测试加载时会很糟糕,而且每次运行测试套件时都会出现这么大的延迟。 Nose有没有插件或任何东西可以做到这一点?

2 个答案:

答案 0 :(得分:11)

对于时间很重要的情况(例如实时要求):

http://nose.readthedocs.org/en/latest/testing_tools.html

  

nose.tools.timed(limit)

     

测试必须在规定的时限内完成才能通过。

     

使用示例:

 from nose.tools import timed
 @timed(.1)
 def test_that_fails():
     time.sleep(.2)

答案 1 :(得分:7)

我恭敬地建议改变“破碎”的含义是一个坏主意。

失败/“红色”测试的含义绝不应该是“此功能被破坏”之外的其他任何内容。要做任何其他事情,可能会降低测试的价值。

如果你实现了这个,那么下周一些测试就会失败,这会是一个指标吗

  • 您的测试运行缓慢?
  • 代码坏了吗?
  • 上述两个同时?

我建议从构建过程中收集MI并监视它以便发现缓慢的测试构建会更好,但是让红色表示“破坏功能”而不是“功能损坏和/或测试速度慢”。