В нашем приложении, мы ожидаем, что ввод данных пользователя в пределах Thread
следующим образом:Запись данные на System.in
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Я хочу передать эту часть в моем модульном тестировании, так что я могу возобновить поток, чтобы выполнить остаток кода. Как я могу написать что-то в System.in
из junit?
Я не думаю, что вы могли бы, но, видимо, вы можете в соответствии с Джастином. Однако не лучше ли было бы реорганизовать проверенный код, чтобы получить входной поток, вставленный снаружи? –
@Bart, если вы тестируете приложение, которое вводит данные из 'System.in', в конце концов вам нужно будет протестировать модуль, который берет данные из' System.in'. – jjnguy
@Justin Разве это не тестирование Java, а не ваш код? Если вы введете InputStream, вы все еще проверяете весь свой код и в зависимости от Java, чтобы обеспечить правильный System.in. –