php Xiaobian Yuzai は、インタラクティブなテストを実行すると、問題が発生する場合があることに気付きました。よくある問題の 1 つは、コマンド ライン インターフェイス (CLI) を使用して対話するときに、スキャナがユーザー入力を待機しないことです。これは、ユーザーに入力を求めるプロンプトが表示されると、プログラムはユーザーの応答を待たずにただちに実行を継続することを意味します。これにより、プログラムにエラーが発生したり、正しく実行されなくなる可能性があります。この問題の解決策は、適切な技術または方法を使用して、スキャナがユーザー入力を確実に待機し、対話テストをスムーズに行うことです。
プログラム出力に対するユーザー入力をシミュレートする、cli プロンプトを検証するテストを作成しようとしています。
scanner.scan
を残りの書き込みを待機させるにはどうすればよいですか?
私がこれまでに持っているもの:
リーリー期待される結果は次のとおりです: 0123
実際の結果は次のとおりです: 0
io.pipeのバージョンを試してみました
リーリー結果: 致命的なエラー: すべてのゴルーチンがスリープ状態です - デッドロック!
パイプを使用すると、書き込みと読み取りが同期されます。一致する読み取りがないと、書き込みは完了できません。最初の書き込みをゴルーチンに移動します。そして、パイプの書き込み側を閉じて、スキャナーがスキャンを停止します。
リーリー以上がCLI プロンプトを対話的にテストするときに問題が発生し、スキャナーがユーザー入力を待機しませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。