使鼻子失败慢慢测试

Tho*_*low 8 python unit-testing nose

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

ted*_*ted 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)
Run Code Online (Sandbox Code Playgroud)


raz*_*ebe 7

我恭敬地建议改变"破碎"的含义是一个坏主意.

失败/"红色"测试的含义永远不应该是"此功能被破坏"之外的任何其他内容.做任何其他事情都有可能削弱测试的价值.

如果你实现这个,然后下周一些测试失败,那么它是否会成为一个指标

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

我建议最好从你的构建过程中收集MI并监视它以便发现缓慢的测试,但让红色意味着"破碎的功能",而不是"破坏功能和/或慢速测试".