pytest会话在完成所有测试后没有结束

时间:2018-01-10 10:40:34

标签: python jenkins pytest

我正在尝试将pytests集成到我的Jenkins项目中,但是Jenkins的工作无法完成,因为pytest的测试会话没有结束。

以下是我能提出的最简单的例子:

Python测试:

import pytest
import sys, time
sys.path.append('../../bindings/python')

class TestControl():
    def test_sanity_check(self):
        """
        Basic Test
        """
        assert (True)

控制台命令&输出:

 python git:(ed25b33) ✗ sudo nano test_control.py 
➜  python git:(ed25b33) ✗ sudo python3 -m pytest -s test_control.py::TestControl::test_sanity_check
=============================================================================================================================== test session starts ===============================================================================================================================
platform linux -- Python 3.4.3, pytest-3.3.2, py-1.5.2, pluggy-0.6.0
rootdir: /var/lib/jenkins/workspace/examples/python, inifile:
collected 1 item                                                                                                                                                                                                                                                                  

test_control.py .                                                                                                                                                                                                                                                           [100%]

============================================================================================================================ 1 passed in 0.67 seconds =============================================================================================================================

测试显示100%已完成,但由于某种原因未终止会话。我尝试在脚本中添加一个sys.exit()但它会导致错误。我只需要测试来释放控制台,这样我的Jenkins工作就可以完成。

1 个答案:

答案 0 :(得分:1)

事实证明我有一个setup_class但没有teardown_class,我的类实例仍处于活动状态,并阻止测试会话结束。