我有两个不同的清单文件,一个是定义,另一个是正常清单。
他们在正常清单中使用require classname
。
class bfile {
require dummy
if $::operatingsystemmajrelease > 5 {
file {'/some/path/foo':
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
}
}
}
我尝试了it {should contain_class('dummy')}
和it {should contain_require('dummy')}
,
但我收到"Could not find class dummy on node"
错误。
puppet-rspec
中是否有可用选项来检查require classname
?
答案 0 :(得分:0)
错误消息Could not find class dummy on node
可能表示class dummy
不在modulepath
中。建议使用绝对范围和模块:require ::my_module::dummy
。该类应在:
modules/my_module/manifests/dummy.pp
关于第二部分,require
将导致Puppet确保bfile
类中的每个资源都应用于任何dummy
类中的每个资源之前。
这意味着您应该能够以这种方式进行测试(RSpec> = 3语法):
it { is_expected.to contain_file('/some/path/foo').that_requires('Class[bfile]') }