我有一个使用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 机器上运行时(即在通过 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
在我看来,字符未转义似乎存在某种问题,但我不太确定。
有什么问题?