java -version
で出力される情報はstderrでした。。。というメモです。
やりたいこと
java -version
の出力みて、Javaのバージョンチェックを行う。
$ java -version
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_25"
ダメだったケース
stdout
使う。
require 'spec_helper'
describe command('java -version') do
its(:exit_status) { should eq 0 }
its(:stdout) { should match /java version "1.8/ }
end
output
Command "java -version"
exit_status
should eq 0
stdout
should match /java version "1.8/ (FAILED - 1)
expected "" to match /java version "1.8/
OKだったケース
stderr
使う。。。
require 'spec_helper'
describe command('java -version') do
its(:exit_status) { should eq 0 }
its(:stderr) { should match /java version "1.8/ }
end
output
Command "java -version"
exit_status
should eq 0
stderr
should match /java version "1.8/
まとめ
もし、コマンドとかでバージョンを保存するとかあったら、
java -version 2> java_version.txt
とするか、
java -version &> java_version.txt
になるのかな。