Тестирование метода с вводом с консоли JUint
При написание тестов в JUnit столкнулся с определенной проблемой. Имеется метод, внутри которого запрашивается ввод с консоли int значения:
cmd = sc.nextInt();
Дальше эта переменная используется в switch конструкции.
Нужно каким-то образом написать тест для такого метода, перехватив этот самый ввод с консоли и передавая в него нужные мне для теста значения.
Ответы (1 шт):
Автор решения: VincentVega
→ Ссылка
Вы можете подменить System.in собственным потоком, вызвав System.setIn(InputStream in)
InputStream sysInBackup = System.in;
ByteArrayInputStream in = new ByteArrayInputStream("Любая строка".getBytes());
System.setIn(in);
// Пихаете сюда ваш switch
// Возвращает System.in к оригиналу (необязательно)
System.setIn(sysInBackup);