我安装了pytest-timeout并尝试运行如下所示的测试:
POpen
据我了解,测试应在30秒后超时。然而,我观察到的是,测试无限期地挂起:
@pytest.mark.timeout(30) # Time out after 30 seconds
def test_main(timeline):
if config['check_rules'] is True and save_only is False: # If configured to do so:
for instance in timeline.instances: # For each app (in each device) on our timeline...
RulesGenerator(instance).gentest_rules()
简而言之,============================= test session starts ==============================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.32, pluggy-0.4.0
rootdir: /home/kurt/dev/clones6/ipercron-utils/tester, inifile:
plugins: timeout-1.2.0, flask-0.10.0
collected 1 items
tester.py
功能似乎没有按预期工作。可能是什么原因造成的?
答案 0 :(得分:1)
通过使用-s
选项打印输出,我相信我看到了问题所在:测试使用了一个夹具timeline
,这需要很长时间才能生成。 timeout
仅适用于测试本身,而不适用于其灯具的生成。