获取 #<Puppet::Resource::Catalog::Compiler:0x00000003f03338> 的未定义方法 '_'



我得到:

1) ntpd should contain class ntpd
Failure/Error: is_expected.to contain_class('ntpd')
NoMethodError:
undefined method `_' for 
<Puppet::Resource::Catalog::Compiler:0x00000003f03338>

当我对木偶单元测试文件运行"rake spec"命令时。 单元测试文件中的代码很简单:

require 'spec_helper'
#require 'shared_contexts'
describe 'ntpd' do
# Pre resource tests
it 'should contain class ntpd' do
is_expected.to contain_class('ntpd') 
end
end

大约 18 个月前,这段代码有效。 我最近下载了运行"rake spec"命令所需的所有 gem,因为我再次拿起 puppet 单元测试项目,现在我只能得到上述错误。 我在网上做了一堆搜索,但似乎没有人遇到这个特定的错误。 当我使用木偶时,我最终只会使用红宝石,所以我的红宝石技能是基本的。 任何帮助或指导将不胜感激。

经过进一步的挖掘,我终于找到了答案。 作为我安装的宝石的一部分,我安装了进行单元测试的宝石,其中一些宝石安装了额外的宝石。 rspec-puppet-utils gem 安装了 puppet 5 gem。 我们仍在使用 puppet 3.8。 一旦我卸载了 puppet 5 gem,错误就消失了,单元测试开始工作。

最新更新