UnitTest 框架 - Time 时间测试
Junit,Java 单元测试框架(Pyunit 是 JUnit 的实现)有一个方便的超时选项。如果测试花费的时间超过指定时间,它将被标记为失败。
Python 的测试框架不包含任何超时支持。但是,名为 timeout-decorator 的第三方模块可以完成这项工作。
下载并安装模块 −
https://pypi.python.org/packages/source/t/timeout-decorator/timeout-decorator-0.3.2.tar.gz
- 在代码中导入 timeout_decorator
- 将 timeout 装饰器放在测试之前
- @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()

