3

標準の Test etc. モジュールを使用して、Perl プログラムが STDIN などからの入力を適切に読み取っているかどうかを自動的にテストする方法はありますか? たとえば、STDIN から 2 つの整数を読み取り、それらの合計を出力するプログラムをテストします。

4

2 に答える 2

5

あなたが何を意味するのか100%明確ではありません.メインプログラムをテストするテストスクリプトを書きたいと仮定して答えます。テストの一部として、テスト入力データをSTDIN経由で渡す必要があります。

プログラムが読み取ったものを出力する場合は、簡単に行うことができます。特別なテスト モジュールは必要ありません。単純に:

  1. システムコールを介してテストしているプログラムを呼び出します

    • を使用して、テスト済みプログラムの STDIN と STDOUT の両方をテスト スクリプトにリダイレクトします。

      • IPC::Open2ファイルハンドルへのパイプを介して両側を開くモジュール、

      • ...または、ファイルとの間でリダイレクトし、テストスクリプトでファイルを読み書きするコマンドを作成します

  2. 最後のステップで収集したテスト済みプログラムの STDOUT をチェックして、正しい値が出力されていることを確認します。

于 2013-07-02T18:03:38.353 に答える