📜  UnitTest框架-时间测试

📅  最后修改于: 2020-12-03 05:29:25             🧑  作者: Mango


Java单元测试框架Junit(Pyunit是JUnit的实现)具有方便的超时选项。如果测试花费的时间超过指定的时间,它将被标记为失败。

Python的测试框架不包含任何超时支持。但是,称为超时装饰器的第三方模块可以完成此工作。

从以下位置下载并安装模块:

https:// pypi。 Python.org / packages / source / t / timeout-decorator / timeout-decorator-0.3.2.tar.gz

  • 在代码中导入timeout_decorator
  • 在测试之前放置超时装饰器
  • @ timeout_decorator.timeout(10)

如果此行下方的测试方法花费的时间超过此处提到的超时时间(10分钟),则会引发TimeOutError。例如-

import time
import timeout_decorator

class timeoutTest(unittest.TestCase):

   @timeout_decorator.timeout(5)
   def testtimeout(self):
      print "Start"
   for i in range(1,10):
      time.sleep(1)
      print "%d seconds have passed" % i
      
if __name__ == '__main__':
   unittest.main()