为什么 rspec-puppet 找不到我的 class?

Why does rspec-puppet not find my class?

我创建了一个 Puppet 模块来安装 AWS Cloudwatch 监控脚本并进行设置。 Puppet 模块可用 here.

当我 运行 rake spec 时,我的测试套件失败并显示:

rspec ./spec/classes/init_spec.rb:4 # cloudwatch with default values for all parameters should contain Class[cloudwatch]

我一辈子都弄不明白这个测试为什么会失败。我该如何解决?

我尝试在存储库的根目录中创建一个 .fixtures/yml,内容如下:

fixtures:
  symlinks:
    cloudwatch: "../../../../manifests"

fixtures:
  symlinks:
    cloudwatch: "#{source_dir}"

但是没有骰子。

我也试过使用 symlink 到 link 到清单目录:https://github.com/MasterRoot24/puppet-cloudwatch/commit/932970aab085984f2cda44fba841c3bde20f7a2b

您最初的问题是缺少 .fixtures.yml 文件,该文件需要以下内容:

fixtures:
  symlinks:
    cloudwatch: "#{source_dir}"

puppetlabs_spec_helper README 中所述。

如我刚刚提出的 PR here.

中所示,需要进行其他更改才能通过测试

针对您编辑过的问题,该问题讨论了一个不在您链接的代码中的固定装置文件,我认为您的固定装置在语法上无效;我认为您不能指定多个 fixtures 块。不管怎样,看看我的PR吧。