问题标签 [rspec-puppet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
425 浏览

ruby - 使用 rspec 进行 Puppet 代码覆盖率测试

我的模块结构是这样的。

manifests/init.pp 文件代码。

spec/classes/init_spec.rb 文件代码

这就是我想要做的。

问题是为什么它无法找到任何资源,尽管 1 个示例已成功测试。

任何帮助将不胜感激。谢谢。

0 投票
1 回答
369 浏览

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

我创建了一个 Puppet 模块来安装 AWS Cloudwatch 监控脚本并进行设置。Puppet 模块可在此处获得。

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

我一生都无法弄清楚为什么这个测试失败了。我如何解决它?

我尝试.fixtures/yml使用以下内容在 repo 的根目录中创建一个:

但没有骰子。

我还尝试使用符号链接链接到清单目录:https ://github.com/MasterRoot24/puppet-cloudwatch/commit/932970aab085984f2cda44fba841c3bde20f7a2b

0 投票
1 回答
506 浏览

ruby - 您可以将 params.pp 的内容读入 Rspec-puppet 中的哈希吗?

我们想让我们的 Rspec Puppet 测试将 的内容读params.pp入散列,并验证该散列中没有意外元素。

我找到的所有信息都描述了如何通过let (:params).

我们已经这样做了,但想做类似的事情expect params.keys.sort.to eq ('param1', 'param2', 'param3'),但不知道如何将 的内容params.pp放入我们可以在测试中使用的变量中。

我们正在使用 Puppet 3.7.5。

0 投票
2 回答
797 浏览

ruby - Rspec puppet 模块测试:访问包含的类的自定义事实

是否有为 puppet 模块编写规范测试的标准模式,可以正确创建测试模块包含的模块所需的自定义事实?

我有一个模块,其类包括puppetlabs/mongodb,它使用自定义事实 ::root_home (由 puppetlabs/stdlib 创建)。

查看 mongodb 的测试代码(特别是spec_helper_local.rb),我看到了为测试创建 :root_home 事实的代码。

但是,在我自己的模块中,除非我在自己的测试代码中创建该事实,否则我的测试会因“评估错误:未知变量”而失败,这很完美,因为测试套件中没有任何内容可以创建该事实。

现在我可以在我的模块的 spec_helper_local.rb 文件中创建这个事实,但这只会把问题踢到楼上,让谁在他们的模块中包含我的模块。

我应该如何处理?是否有人已经编写了递归下降到包含模块并创建测试所需事实的代码?

0 投票
2 回答
1003 浏览

rspec - Rspec:无法解析环境 rp_env

我是 rspec-puppet 的新手,我从测试写作开始:

我写了这段代码:

应该测试:

这更像是“测试的测试”,但事情总是失败。我正进入(状态:

第 39 行 is_expected.to contains_class('rcjenkins::nginx')。有谁知道发生了什么?

编辑:我也注意到,我将测试更改为任何东西,都会给我同样的错误。我错过了什么?什么是 rp_env?

0 投票
1 回答
571 浏览

puppet - Rspec + puppet:嵌套夹具?

我正在尝试开始使用 rspec 来测试一些已经制作(和生产中)的 puppet 模块,但是这件事一直想让我生气。

首先,我正在使用 rake 进行“完整”测试。任务是:

耙文件:

我遇到的第一个问题是这个错误:

经过一段时间的研究,我发现我应该把我正在使用的模块放在 .fixtures.yml 中。听起来很简单,所以我做了:

从现在开始,事情就没有任何意义了。我得到了错误:

::yum::repo 由 PHP 模块调用。php 模块有自己的固定装置。我尝试添加它,然后弹出另一个嵌套模块依赖项。这不可能,我应该弄清楚并手动添加所有依赖关系树以进行简单测试?

0 投票
1 回答
1509 浏览

ruby - 当参数需要资源引用时如何对 Puppet 类进行 rspec 测试

这可能是模拟资源的简单问题,但是......

现在我想为这个类写一个 rspec-puppet 测试。如何创建或模拟文件资源并将其放入 rspec-puppet 使用的目录中,以便我可以引用它?

这个这个的答案让我走到了那里,但我尝试过的一切都导致 myClass 抱怨它被传递的是字符串而不是文件引用。

0 投票
1 回答
46 浏览

rspec - 如何定义用于操作 Puppet 目录对象的辅助方法

我有一堆重复的代码来操作 Puppet 目录对象(注意重复的content =行):

可以看出,我已经将一个长查询移动到一个before(:each)块中并将其保存在一个实例变量中。这使得它在it块中可用。

我不明白的是如何为content =线条定义方法,例如:

如果我知道该怎么做,我可以大大清理这段代码。我不知道我可以把这个def块放在哪里,如果有可能的话。

0 投票
1 回答
108 浏览

rspec - puppet-rspec 表驱动测试

我正在尝试测试一种类型,但我有一个问题:表驱动测试是否可能?我有一个类,它获取传递给它的哈希,我想用不同的哈希内容检查它,所以我希望我的测试看起来像

当我运行它时,在我看来,木偶目录是用我的最后一个测试哈希数组编译的,因为我看到当我的第一个测试哈希与目录进行比较时,我得到了失败(看起来目录是用我的第二个也是最后一个哈希(其测试成功)。

在 rspec-puppet 中,目录何时编译?我可以强制重新编译吗?这会有效吗?有没有更好、更惯用的方法来做到这一点?

这是代码

0 投票
1 回答
427 浏览

rspec - rspec-puppet如何测试定义为类的成员

我有一门课看起来像

我希望我的测试看起来像

目录编译正确,为清楚起见删除了 is_expected.to 编译。但是我似乎无法让它工作:dsc_xfirewall 为零,如果我尝试 Dsc_xfirewall 相同的故事,如果尝试

我收到 dsc_firewall 不是有效定义的错误。有谁知道如何更好地构建我的测试?在有人指出如果目录编译正确我不需要这个测试之前,我知道;这只是更复杂的东西的熟化版本。

因此,我的问题是:为了检查该类是否包含 dsc_xfirewall 以及所有参数是否设置正确,测试必须是什么样子?