我正在设置我的nosetests环境,但似乎无法让超时工作正常。我希望在鼻子发现的每个测试中都有x
秒(比如2)超时。
我尝试了以下内容:
nosetests --processes=-1 --process-timeout=2
这很好用,但我注意到以下几点:
有谁知道如何让这样的超时工作?我希望它能在没有并行测试的情况下工作,但只要我得到测试已超时的反馈,这就不会成为问题。
答案 0 :(得分:10)
我不知道这是否会让您的生活更轻松,但nose.tools
中的类似功能会在超时时失败,您无需进行并行测试:
from nose.tools import timed
@timed(2)
def test_a():
sleep(3)
如果手动添加属性是一个问题,你可以使用脚本/插件自动装饰模块中的所有测试,但我个人更喜欢清晰而不是魔术。
通过查看Lib/site-packages/nose/plugins/multiprocess.py
来源,您使用的process-timeout
选项看起来有点特定于管理"悬挂"可能阻止测试完成的子过程。