2017-03-02 7 views
0

で出力を表示するために、私は実行することにより、キュウリスクリプトを実行しています:STDOUTを=使用方法、ERR = STDERRはキュウリに:: CLI ::主なHTML

Cucumber::Cli::Main.new(args).execute! 

を私はからの出力を取得しようとしています変数にキュウリを置き、それを画面に表示する。ファイルから読み込んだファイルに出力する内容を

Cucumber::Cli::Main.new(args).execute! 

をし、それを表示:私はそれをやって、ファイルを作成することで働かせました。

require 'cucumber' 

output = File.open('index.html', 'w+') 
features = "features/login.feature" 
@args = features.split.concat %w(--format html) 
Cucumber::Cli::Main.new(@args, out=output).execute! 

Hereはソースコードです。

enter image description here

  1. 何がSTDOUTSTDERRの両方にするときキュウリ出力をどうなりますか?どのようにして両方のファイルから読み込むことができますか?
  2. キュウリスクリプトの実行中に例外が発生した場合はどうなりますか?例:キュウリがスクリプトを実行します。 STDOUTに出力し続けます。突然、そしてエラー。それは壊れます。 STDERRに出力します。私はそれを画面上に表示しなければならないので、どのようにしてSTDOUTSTDERRの両方から読み取って、メイン画面に通常のHTMLファイルを表示できますか?

答えて

1

プログラムが実行され、何かがコンソールに表示されると、STDOUTまたはSTDERRに送信されています。通常、STDOUTは通常の出力が表示される場所(結果など)で、STDERRはエラーメッセージが送信される場所です。これらはstandard streamsです。

この関数が定義される方法は、デフォルトでSTDOUTとSTDERRに出力されますが、これらは代替の引数を渡すことで変更できます。これは、このデータをキャプチャして代替出力ストリームを渡す最も簡単な方法です。

関連する問題