我正在使用python
框架unittest
.是否可以通过框架的能力指定测试超时?如果不是,是否可以timeout
为所有测试和某些单独的测试优雅地指定每个测试的私有值?
我想global timeout
为所有测试定义一个(默认情况下它们将使用它)和一些可能需要很长时间的测试的超时.
据我所知unittest
,不包含对测试超时的任何支持.
您可以timeout-decorator
从PyPI 尝试库.在各个测试中应用装饰器,如果它们花费太长时间使它们终止:
import timeout_decorator class TestCaseWithTimeouts(unittest.TestCase): # ... whatever ... @timeout_decorator.timeout(LOCAL_TIMEOUT) def test_that_can_take_too_long(self): sleep(float('inf')) # ... whatever else ...
要创建全局超时,您可以替换呼叫
unittest.main()
同
timeout_decorator.timeout(GLOBAL_TIMEOUT)(unittest.main)()