使用 JUnit 模拟 System.in 测试
在软件测试领域,人们经常面临模拟用户输入的挑战。命令行程序。当程序提示通过 System.in 输入时,如何在 JUnit 测试中自动执行此行为?
解决方案
绕过 System.in 并注入模拟用户输入,请按照以下步骤操作:
动态切换 System.in:
使用 Java 8 流来操作 System.in溪流。例如:
<code class="java">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); }</code>
以上是如何在命令行程序的 JUnit 测试中模拟用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!