Я хочу протестировать функцию, которая вызывает выход.
По сути, у меня есть консольное приложение, которое спрашивает пользователя, уверен ли он, что хочет перезаписать каталог. Когда пользователи ответят «Нет», каталог не будет перезаписан, и программа должна выйти.
promptToDeleteRepo() {
bool okToDelete = ...
if(okToDelete) {
deleteRepo();
} else {
exit(0);
}
}
Итак, я хочу проверить, что если пользователь ответит «Нет», программа действительно закроется. Но если я проверю это, мой тестовый бегун выйдет.
В python я, кажется, могу сделать что-то вроде:
with pytest.raises(SystemExit):
promptToDeleteRepo();
Есть ли что-то подобное в Дарте?