rspec puppet:找不到所需的类

rspec puppet:找不到所需的类,puppet,rspec-puppet,Puppet,Rspec Puppet,所以我有一个功能齐全的“ldap”类 现在我想为ldap目录中的某些用户做一些事情 我在一个新的“用户”模块中这样做,首先创建一个新定义的_类型: define users::admin ( String $sshkey ) { file {"/home/${title}": ensure => directory, owner => $title, group => 'root', require => Class['ldap'

所以我有一个功能齐全的“ldap”类

现在我想为ldap目录中的某些用户做一些事情

我在一个新的“用户”模块中这样做,首先创建一个新定义的_类型:

define users::admin (
  String $sshkey
) {

  file {"/home/${title}":
    ensure => directory,
    owner => $title,
    group => 'root',
    require => Class['ldap']
  }
  ...
}
然后我在我的“用户”模块的init.pp中使用这个定义的类型:

class users {
  users::admin {'ldt':
    sshkey => 'mysshkey',
  }
}
但是,当我尝试在上面使用“pdk测试单元”时,我得到以下错误:

failed: rspec: ./spec/classes/users_spec.rb:8: error during compilation:
Could not find resource 'Class[Ldap]' in parameter 'require'
(file: ~/Projects/puppet/modules/users/spec/fixtures/modules/users
/manifests/admin.pp, line: 15) on node <mycomputer>
我尝试如下设置我的.fixtures.yml,但没有帮助:

fixtures:
  symlinks:
    ldap: "#{source_dir}"
知道我做错了什么吗

编辑:将my.fictures.yml更改为:

fixtures:
  symlinks:
    ldap: "#{source_dir}/../ldap"

我甚至在spec/fixtures/modules文件夹中手动添加了一个符号链接到我的ldap模块。仍然是相同的错误。

因此,该错误与rspec或任何东西无关

我只需要在实际的puppet代码中“包含ldap”。

我怀疑source_dir是否解析为ldap模块的位置。修好了,你就可以走了。
fixtures:
  symlinks:
    ldap: "#{source_dir}/../ldap"