Каким образом можно протестировать следующий метод?Модульное тестирование метода ввода в консоль Java
public static String grabString() {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
do {
try {
// call the readline method of the buffered reader object.
return r.readLine();
} catch (Exception e) {
}
} while (true);}
Если я называю этот метод из тестового класса как так
String getInput = grabString();
И проверить его с
assertEquals(getInput, "hello");
Можно ли использовать код, чтобы ввести «привет» в консоли без необходимости вводить текст так, чтобы единичный тест мог запускаться мгновенно?
Вы можете проверить код, который встроен в JDK, но можно предположить, что уже работает. Неясно, что ваша петля пытается достичь, и как вы запускаете, например, Exception. Вместо того, чтобы надеяться, что в бесконечном цикле решает проблему, я бы обернул ее «AssetionError», потому что этого не должно произойти, и вы не знаете, как с этим справиться. –