Я устанавливаю pytest
и pytest-timeout
, я следую указаниям pytest-timeout
в https://pypi.org/project/pytest-timeout/, чтобы установить тайм-аут для каждого модульного теста.
И я хочу только сбой модуляпроверьте, не истекло ли время, и продолжайте выполнение других модульных тестов.
Пожалуйста, ознакомьтесь с кодом моего модульного теста:
# content of test_log.py
import time
import pytest
class TestDemo(object):
@pytest.mark.timeout(60)
def test_01(self):
time.sleep(2)
assert "1"
@pytest.mark.timeout(3)
def test_02(self):
time.sleep(4)
assert "1"
@pytest.mark.timeout(3)
def test_03(self):
time.sleep(1)
assert "1"
Теперь проблема в том, что я запускаю этот код в своемWindows 7, тест остановится, как только второй раз закончится, 3-й модульный тест не будет запущен.
У меня есть журнал, подобный следующему:
D: \ dev \ pytestlog>pytest
================== начинается тестовая сессия ==============
платформа win32- Python 3.6.4, pytest-3.8.2, py-1.5.3, pluggy-0.7.1 rootdir: D: \ dev \ pytestlog, inifile: плагины: timeout-1.3.2, instafail-0.4.0 собраны 3items
test_log.py.
++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++
~~~~~~~~~~~~~~ Стек MainThread (17636) ~~~~~~~~~~~~~~
Файл "c: \ python36-32 \ lib \ runpy.py", строка 193, в _run_module_as_main " main ", mod_spec) Файл "c: \ python36-32 \ lib \ runpy.py", строка 85, в _run_code exec (code, run_globals)
... (здесь слишком много журналов)
Файл "D: \ dev \ pytestlog \ test_log.py", строка 15, в test_02 time.sleep (4)
++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++
D: \DEV \ pytestlog>