Simulación de System.in Pruebas con JUnit
En el ámbito de las pruebas de software, a menudo uno se enfrenta al desafío de simular la entrada del usuario cuando se trata de programas de línea de comandos. Cuando un programa solicita entrada a través de System.in, ¿cómo se automatiza este comportamiento en las pruebas JUnit?
Solución
Para omitir System.in e inyectar entrada de usuario simulada , siga estos pasos:
Cambiar System.in dinámicamente:
Utilice flujos de Java 8 para manipular System.in arroyo. Por ejemplo:
String data = "Hello, World!\r\n";
InputStream stdin = System.in;
try {
System.setIn(new ByteArrayInputStream(data.getBytes()));
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
} finally {
System.setIn(stdin);
}
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3