Ошибка Pytest в разрыве при использовании регистрации - PullRequest
0 голосов
/ 03 декабря 2018

Когда я запускаю свой тест, если я отменяю его, используя ctrl-c (прерывание клавиатуры) после того, как он дал, он должен продолжить выполнение кода после оператора yield.Однако, если я запускаю его с включенным ведением журнала:

pytest test_logging_error.py --log-cli-level info

Это вызывает ошибку:

AttributeError: 'NoneType' object has no attribute 'resume_capturing'

Это происходит после регистрации сообщения «Здесь происходит сбой», вот код.

from time import sleep
import pytest
import logging


@pytest.fixture(scope="module")
def connection():
    numbers = []
    for i in range(10):
        numbers.append(i)
    yield numbers
    logging.info("It crashes here")
    for i in range(10):
        print("foo")


def test_error(connection):
    logging.info("Running a test")
    sleep(10000)

Если я запускаю его без регистрации после выхода или просто с отключенной регистрацией, он работает нормально, и демонтаж завершается правильно.

1 Ответ

0 голосов
/ 03 декабря 2018

это реальная ошибка Pytest, я думаю, https://github.com/pytest-dev/pytest/pull/4487 исправляет ее (она только что была объединена с мастером)

, но благодаря отчету об ошибках, сделанному в https://github.com/pytest-dev/pytest/issues/4500, мы теперьиметь минимальный воспроизводитель для этой проблемы, который может быть добавлен в качестве регрессионного теста

для дополнительной информации. Пожалуйста, проверьте с помощью pytest от master, если проблема решена, я добавлю тест в комплект тестов, когда янайти время

спасибо: +1:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...