Так вот код:Как я могу протестировать метод, который использует сканер и InputStream?
public int foo(InputStream in) {
int counter = 0;
Scanner scanner = new Scanner(in);
while(scanner.hasNextLine()) {
counter++;
scanner.nextLine();
}
return counter;
}
Обычно я буду пропусканием FileInputStream к этому методу, однако я хочу, чтобы иметь возможность протестировать его без доступа физического файла.
Должен ли я высмеивать объект File? Как я могу осуществить
@Test
public void shouldReturnThree(){
}
Как насчет ['ByteArrayInputStream'] (http://docs.oracle.com/javase/7 /docs/api/java/io/ByteArrayInputStream.html)? – RealSkeptic