Остановите pytest в самом начале, если условие не выполнено.Python

Программы на Python
Anonymous
Остановите pytest в самом начале, если условие не выполнено.

Сообщение Anonymous »

Любой способ остановить весь запуск pytest на очень ранней стадии, если какое-то условие не выполнено. Например, если обнаружится, что служба Elasticsearch не запущена?
Я попробовал поместить это в общий файл, который импортируется всеми тестовыми файлами:

Код: Выделить всё

try:
requests.get('http://localhost:9200')
except requests.exceptions.ConnectionError:
msg = 'FATAL. Connection refused: ES does not appear to be installed as a service (localhost port 9200)'
pytest.exit(msg)
... но тесты запускаются для каждого файла и каждого теста в каждом файле, а также генерируется большое количество выходных данных, связанных с ошибками.
Очевидно, что я пытаюсь остановить выполнение в самом начале этапа сбора данных.
Очевидно, что я также мог бы написать сценарий, который проверяет все необходимые условия перед вызовом pytest с любыми параметрами CLI, которые я мог бы ему передать. Это единственный способ добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/708 ... on-not-met

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