Unittest Framework 简明教程
UnitTest Framework - Time Test
Java 单元测试框架 Junit(Pyunit 是 JUnit 的实现)有一个便捷的超时选项。如果测试花费的时间超过指定的时间,则该测试将标记为失败。
Python 的测试框架不包含任何超时支持。但是,一个名为 timeout-decorator 的第三方模块可以完成该作业。
从以下位置下载并安装该模块 −
-
在代码中导入 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()