Я пытаюсь протестировать данное Java-приложение, и для этого хочу использовать JUnit.Использование JUnit при завершении кода
Проблема, с которой я столкнулся, заключается в следующем: как только код, который я пытаюсь проверить, завершает свою работу, его вызывающий System.exit()
, который закрывает приложение. Хотя он также останавливает мои тесты от завершения, так как он закрывает JVM (я полагаю).
Нужно ли вообще обойти эту проблему без изменения исходного кода? Первоначально я пытался запустить тестирование приложения im из нового потока, хотя это, очевидно, не имело большого значения.
Можем ли мы узнать, какая библиотека это? – TheEwook
Приложение Java ** ** может вызывать System.exit(), библиотеку Java ** ** не следует! – Aubin
JUnit лучше всего подходит для тестирования классов библиотек, которые принимают предсказуемый тип данных в качестве их ввода и возвращают предсказуемый тип данных в качестве своего вывода. Класс библиотеки никогда не должен вызывать 'System.exit()', потому что это делает библиотеку вредной для приложений, которые могут ее использовать. Похоже, вы пытаетесь использовать JUnit для тестирования небиблиотечных классов или методов, и это не очень удобно. – Bobulous