Del curso: Domina Java: Test unitarios (JUnit)

Accede al curso completo hoy mismo

Únete hoy para acceder a más de 24.700 cursos impartidos por expertos del sector.

Simulando la entrada por teclado

Simulando la entrada por teclado

Ya sabemos capturar la salida, tanto la de System.out como la de System.error. Pero ¿y qué pasa con System.in, con la entrada por teclado? Pues también vas a saber simularla. Si no lo sabes ya, lo sabrás en un par de minutos o menos. El mecanismo es similar al de capturar la salida. Primero, guardamos la referencia al System.in actual. Luego, creamos un ByteArrayInputStream con el texto que queramos simular convertido a bytes y establecemos ese stream como nuevo in usando setIn. Llamamos al método que consume ese teclado, que normalmente estaría en la clase que estamos probando, no aquí mismo, hacemos las comprobaciones que correspondan y, al terminar, restauramos la entrada original. Eso sí, no olvides poner los saltos de línea que sean necesarios en la entrada. Y sí, sí puedes combinar este mecanismo con los del out y el error. No hay problema.

Contenido