2017-02-23 12 views
0

Jruby 9.1.7.0でキュウリスクリプトを実行しています。出力はSTDOUTに進みます。ローカル変数に保存するにはどうすればよいですか?Cucumber :: CLI :: Main.executeの出力(STDOUT)を変数に入れるには

require 'cucumber' 
require 'stringio' 

@output = StringIO.new 
features = 'features/first.feature' 
args = features.split.concat %w(-f html) 

# Run cucumber 
begin 
# output goes to STDOUT 
    Cucumber::Cli::Main.new(args).execute! 
rescue SystemExit 
    puts "Cucumber calls @kernel.exit(), killing your script unless you rescue" 
end 

答えて

0

あなたはCMD で "キュウリ--help"

-o, --out [FILE|DIR]    Write output to a file/directory instead of STDOUT. This option 
           applies to the previously specified --format, or the 
           default format if no format is specified. Check the specific 
           formatter's docs to see whether to pass a file or a dir. 

を入力した場合、あなたはまた、一時ファイルにそれを書くと読むことができます

args = features.split.concat %w(-f html -o test.html) 
0

であなたのコードを変更することができますファイルからの値

require 'cucumber' 
require 'tempfile' 
require 'securerandom' 

filename = "#{SecureRandom.urlsafe_base64}" 
file = Tempfile.new(filename) 
filepath = "#{file.path}" 
features = "cucumber/ars/features/ars_additional.feature" 
args = features.split.concat %w(-f html -o) 
args << filepath 
Cucumber::Cli::Main.new(args).execute! 

@output = file.read 
file.close 
file.unlink 
関連する問題