JUnit を使用した System.in テストのシミュレーション
ソフトウェア テストの領域では、ユーザー入力を処理するときにユーザー入力をシミュレートするという課題に直面することがよくあります。コマンドラインプログラム。プログラムが System.in 経由で入力を求めるとき、JUnit テストでこの動作を自動化するにはどうすればよいですか?
解決策
System.in をバイパスして、シミュレートされたユーザー入力を挿入するには、次の手順に従います:
System.in を動的に切り替える:
Java 8 ストリームを使用して System.in を操作します。ストリーム。例:
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);
}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3