如果我是一个傻瓜,我很抱歉,但。。。我是rspec/ruby等的新手,我正在努力弄清楚一些事情。给定以下rspec木偶片段:
if os == 'Ubuntu'
let(:facts) do
{
architecture: 'amd64',
operatingsystem: 'Ubuntu',
}
end
it { is_expected.to contain_service('docker').with_hasrestart('true') }
context 'It should include default prerequired_packages' do
it { is_expected.to contain_package('cgroup-lite').with_ensure('present') }
it { is_expected.to contain_package('apparmor').with_ensure('present') }
end
end
我们得到了像contain_service()
和contain_package()
这样的函数(对象?(,它们似乎有像with_hasrestart
和with_ensure
这样的方法。我想了解的是,这些函数是什么?他们是rspec木偶的一部分吗?我似乎在GitHub中找不到它们,文档也没有真正解释。我正在努力为每种方法找到所有可用的方法,以更好地理解这一切——源代码会很棒。有人能提供一些信息/文件来解释一下吗?
非常感谢,
Dave
编辑:看起来我没有足够的RTF。看来这些是";匹配器";并且在代码中搜索CCD_ 5将永远不起作用。
回答我自己的帖子,但我怀疑是否有人真的需要这个。
这些是";匹配器";,这里特别是一个通用的。它们是rspec-puppet
软件包的一部分:https://github.com/rodjek/rspec-puppet/blob/master/lib/rspec-puppet/matchers/create_generic.rb
你基本上可以做contain_<puppet resource>
,而像with_ensure
这样的方法就像with_<resource parameter>
。