inifile gemを使用した Serverspec テストがあります。
require 'spec_helper'
require 'inifile'
describe 'inifile test -' do
file = '/tmp/testfile1.ini'
file_ini = IniFile.load(file)
it 'testfile1.ini should contain expected values' do
expect(file_ini['section1']['variable1']).to eq('value1')
end
end
がマシン上でローカルに実行された場合 ( gem がインストールされrake
ている Ubuntu ゲストまたは OS X ホストのいずれか)、テストに合格します。inifile
ただし、rake
Vagrant box に対して実行すると (つまり、SSH で Vagrant 上の Ubuntu に接続しているホスト上で)、次のメッセージが表示されて失敗します。
1) inifile test - testfile1.ini should contain expected values
On host `molecule-test'
Failure/Error: expect(file_ini['section1']['variable1']).to eq('value1')
NoMethodError:
undefined method `[]' for nil:NilClass
# ./spec/inifile_spec.rb:8:in `block (2 levels) in <top (required)>'
Serverspec のデフォルトRakefile
とspec_helper.rb
.
/tmp/testfile1.ini
内容に関係なくテストは失敗しますが、次のとおりです。
[section1]
variable1=value1
エスケープされていない文字に何らかの問題があるように思えますが、よくわかりません。
何が間違っている可能性がありますか?