我有一门课看起来像
class addon {
case $::operatingsystem {
'windows': {
Dsc_xfirewall {
dsc_ensure => 'Present',
}
}
'RedHat': {
}
default: { warning "OS : ${::operatingsystem} is not (yet) supported" }
}
}
我希望我的测试看起来像
describe 'addon', :type => :class do
os = 'windows'
let(:facts) {{:operatingsystem => os}}
describe os do
it {
is_expected.to contain_class('addon').with(
{
:Dsc_xfirewall => {
:dsc_ensure => 'Present',
}
}
)
}
end
end
目录编译正确,为清楚起见删除了 is_expected.to 编译。但是我似乎无法让它工作:dsc_xfirewall 为零,如果我尝试 Dsc_xfirewall 相同的故事,如果尝试
contains_dsc_xfirewall
我收到 dsc_firewall 不是有效定义的错误。有谁知道如何更好地构建我的测试?在有人指出如果目录编译正确我不需要这个测试之前,我知道;这只是更复杂的东西的熟化版本。
因此,我的问题是:为了检查该类是否包含 dsc_xfirewall 以及所有参数是否设置正确,测试必须是什么样子?