Czy istnieje sposób, aby zapobiec wychwyceniu wyjątku SystemExit z sys.exit ()?

Dokumenty mówią, że wywołanie sys.exit () powoduje wyjątek SystemExit, który może zostać przechwycony na zewnętrznych poziomach. Mam sytuację, w której chcę definitywnie i bezwarunkowo wyjść z wnętrza przypadku testowego, jednak moduł unittest łapie SystemExit i uniemożliwia wyjście. Zwykle jest to świetne, ale specyficzna sytuacja, którą próbuję obsłużyć, to taka, w której nasze środowisko testowe wykryło, że jest skonfigurowane do wskazywania nie testowanej bazy danych. W tym przypadku chcę wyjść i zapobiec uruchomieniu dalszych testów. Oczywiście, ponieważ unittest pułapki SystemExit i kontynuuje szczęśliwie na swojej drodze, to udaremnia mnie.

Jedyną opcją, o której pomyślałem do tej pory, jest użycie ctypów lub czegoś podobnego do bezpośredniego wywołania exit (3), ale wydaje się to całkiem niezłym hackiem dla czegoś, co powinno być naprawdę proste.

questionAnswers(2)

yourAnswerToTheQuestion