Как правильно потерпеть неудачу в pytest_sessionstart - PullRequest
0 голосов
/ 27 февраля 2019

Я делаю некоторую проверку в pytest_sessionstart в conftest.py в pytest, и если проверка не удается, я поднимаю ValueError.

Это работает, но печатная ошибка довольнобрутальный с большим количеством INTERNALERROR строк, что затрудняет чтение.

Я искал что-то более чистое, только с моим сообщением об ошибке.Есть ли способ сделать это?

1 Ответ

0 голосов
/ 28 февраля 2019

Использование pytest.exit:

import pytest


def precondition():
    raise ValueError('precondition failed')


def pytest_sessionstart(session):
    try:
        precondition()
    except ValueError as err:
        pytest.exit(str(err), returncode=1)

Пример вывода:

$ pytest
Exit: precondition failed
!!!!!!!!!!!!!!!!!!!!!!!! _pytest.outcomes.Exit: precondition failed !!!!!!!!!!!!!!!!!!!!!!!!!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...