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.