実行する前にユーザーの入力を待つ必要がある JUnit テストを作成しています。シナリオは次のようなものです。
- テストの実行を開始する
- 自動化/モック化できない外部操作が完了するまで待ちます。ユーザーはいくつかの手動アクティビティを実行してから、テストを続行するように通知する必要があります
- 走り続ける
使ってみた
System.out.println( "Press enter to continue" );
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
reader.readLine();
System.out.println( "Resuming..." );
System.in はテスト内でキーボードからの入力を受け入れないように見えるため、機能しません。
これが典型的/オーソドックスな単体テストではないことは承知していますが、Maven を使用してさまざまなケースをテストすると便利なので、単体テストとしてコーディングしたいと思います。
または、テストを通常の (Junit 以外の) プログラムに移動する必要がありますか?
ありがとう