Как изменить статус Pytest, сохранив исходное поведениеPython

Программы на Python
Ответить
Anonymous
 Как изменить статус Pytest, сохранив исходное поведение

Сообщение Anonymous »

Я пытаюсь включить перехватчик pytest_report_teststatus в conftest.py.
Однако простое включение этого перехватчика, похоже, изменяет поведение TerminalReporter, так что он затем печатает статус каждого теста 3 раза (вместо 1 раза), что, как я предполагаю, представляет собой настройку, вызов и демонтаж. Это происходит, даже если сам хук не изменен.
Буду очень признателен за любую информацию о том, почему это происходит и как это преодолеть.
Используя следующий файл conftest.py
# Original, unmodified hook

def pytest_report_teststatus(report):
if report.passed:
letter = "."
elif report.skipped:
letter = "s"
elif report.failed:
letter = "F"
if report.when != "call":
letter = "f"
return report.outcome, letter, report.outcome.upper()

Результаты каждого теста записываются на терминал 3 раза
test_foo.py::test_output_1 PASSED
test_foo.py::test_output_1 PASSED
test_foo.py::test_output_1 PASSED
test_foo.py::test_output_2 PASSED
test_foo.py::test_output_2 PASSED
test_foo.py::test_output_2 PASSED
test_foo.py::test_output_3 PASSED
test_foo.py::test_output_3 PASSED
test_foo.py::test_output_3 PASSED


Подробнее здесь: https://stackoverflow.com/questions/706 ... l-behavior
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»