当前位置:  开发笔记 > 编程语言 > 正文

如何为python unittest指定测试超时?

如何解决《如何为pythonunittest指定测试超时?》经验,为你挑选了1个好方法。

我正在使用python框架unittest.是否可以通过框架的能力指定测试超时?如果不是,是否可以timeout为所有测试和某些单独的测试优雅地指定每个测试的私有值?
我想global timeout为所有测试定义一个(默认情况下它们将使用它)和一些可能需要很长时间的测试的超时.



1> Lav..:

据我所知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)()

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有