Видимо не вызывать в тестах функции которые приводят к завершению всей программы. Как варинат можно обернуть exit(10) в свою функцию __exit() а в тесте ее мокать. А вообще, по хорошему. Тестами проверяется "бизнес логика" выход из программы к таковой не относится. Вы вызываете бизнес логику передавая что то на вход и получая что то на выход. По сути тесты позволяют вам запустить вашу бизнеслогику на необходимо наборе входнх данных и убедиться что на выходе получается именно то, что ожидается. А выход обыгрывается уже по другому.