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 中国語 Web サイトの他の関連記事を参照してください。