Есть ли способ предотвратить перехват исключительной ситуации SystemExit, вызванной sys.exit ()?

В документах говорится, что вызов sys.exit () вызывает исключение SystemExit, которое может быть перехвачено на внешних уровнях. У меня есть ситуация, в которой я хочу окончательно и безоговорочно выйти из тестового примера, однако модуль unittest перехватывает SystemExit и предотвращает выход. Обычно это замечательно, но в конкретной ситуации, которую я пытаюсь решить, наша тестовая среда обнаружила, что она настроена на указание на не тестовую базу данных. В этом случае я хочу выйти и предотвратить запуск любых дальнейших тестов. Конечно, поскольку unittest перехватывает SystemExit и продолжает счастливо идти, это мешает мне.

Единственный вариант, о котором я до сих пор думал, - это использование ctypes или чего-то подобного для непосредственного вызова exit (3), но это выглядит довольно странным хаком для чего-то, что должно быть действительно простым.

Ответы на вопрос(2)

Ваш ответ на вопрос