如何测试Python函数需要不到一定的时间才能完成

时间:2011-10-26 22:02:33

标签: python tdd

我正在使用Python的unittest。

我想编写一个测试,确保某个方法在某个时间之前完成。我可以通过计算时间戳时间戳之间的差异来做到这一点,但我开始想知道是否

  1. 这通常是在TDD中完成的,如果方法/函数效率不高,那么编写测试失败然后重构以使其更有效率?
  2. Python的unittest是否有一个灵活的方法来做到这一点?

2 个答案:

答案 0 :(得分:1)

你可以用鼻子@timed装饰器来做。我用它来测试定时功能。例如:

@timed(2.1)
def test():
    func_with_timeout(timeout=2)

答案 1 :(得分:0)

有些公司对代码速度进行测试,进行回归测试,这些尝试捕获新代码以减慢系统速度,如果遇到问题,首先尝试修复新代码以使其仍然运行良好如果您无法做到这一点,那么您(产品所有者)可以决定新功能是否值得。

关于TDD:你不知道运行时间,所以不,你不能用猜测写一个测试,然后重构代码,所以它会通过..除非你做一些非常具体的事情和非功能需求,就像嵌入式系统必须在50ms内响应......