问题标签 [chefspec]

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 回答
3849 浏览

chef-infra - ChefSpec - 无法设置节点属性

我对 nginx 食谱有一个简单的测试:

这是失败的:

我正在尝试按照文档中的描述设置节点属性,是否有明显的遗漏?

0 投票
1 回答
1389 浏览

chefspec - 在 ChefSpec 中模拟文件内容

我有一本厨师食谱,它将 ubutunu 用户(正在使用的亚马逊 AMI 的默认用户)的授权密钥文件复制到新创建的用户。

我正在尝试chefspec,我想测试一下。我想模拟 ubuntu_public_key_file 及其内容的存在。对此的任何反馈表示赞赏!

0 投票
1 回答
987 浏览

chef-infra - 在 chefspec 中模拟外部供应商

我正在尝试使用 ChefSpec 在 Chef 中测试提供程序。在这个提供者中,我正在调用另一个外部提供者,我想模拟/禁用它,以便只执行我的提供者,而不是外部提供者。

我的提供者基本上是这样的:

我想我可以通过使用Chef::Provider::LWRPBase.build_from_file一个空的提供者来提供外部提供者模拟来模拟这个。虽然显然正在生成资源和提供者,但它显然没有在应有的位置注册,因为测试仍然抱怨缺少外部提供者。

任何想法、提示或示例都会很棒——我发现的所有提供程序测试示例都使用更简单且自包含的提供程序,因此它们在这里并没有真正的帮助。

如果需要更多上下文,可以在此处找到有问题的提供者:https ://github.com/fh/easybib-cookbooks/blob/0a9f7935371d6dc89796e83041cf5092bd96167a/easybib/providers/deploy.rb和(蹩脚,非工作,工作我的测试的进度版本)在这里:https ://github.com/fh/easybib-cookbooks/blob/0a9f7935371d6dc89796e83041cf5092bd96167a/easybib/spec/easybib_deploy_spec.rb

编辑:基本上,这里的问题不是如何用存根“覆盖”我的食谱中的现有提供者,而是如何在 ChefSpec 运行期间以编程方式创建和提供提供者,这在我正在测试的食谱中不存在。

0 投票
1 回答
6386 浏览

unit-testing - 如何使用 ChefSpec 测试我的 LWRP?

我创建了我的自定义 LWRP,但是当我运行ChefSpec单元测试时。它不知道我的 LWRP 操作。

这是我的资源

这是我的提供者

这是我的 ChefSpec 单元测试:

这是控制台输出:

我如何对使用 LWRP 操作运行测试的 ChefSpec 说?

0 投票
2 回答
4743 浏览

rspec - 在 ChefSpec 运行期间模拟文件

我创建了一个厨师资源,它“扩展”了厨师的部署资源。基本思想是检查是否存在deploy/crontab类似于deploy/after_restart.rb要部署的源中的机制的文件,并从中创建 cronjobs。

虽然这种机制可以正常工作(请参阅https://github.com/fh/easybib-cookbooks/blob/t/cron-tests/easybib/providers/deploy.rb#L11-L14),但我正在努力解决基于 ChefSpec 的测试。我目前正在尝试使用创建FakeFS模拟 - 但是当我在 Chef 运行之前模拟文件系统时,运行失败,因为没有找到食谱,因为它们在模拟的文件系统中不存在。如果我不deploy/crontab这样做,则显然找不到模拟文件,因此提供者不会做任何事情。我目前的做法是在chef_runFakeFS.activate!之前直接触发。runner.converge(described_recipe)

我很想听听一些关于如何在这里进行适当测试的建议:是否有可能仅在部署资源运行之前直接启用 FakeFS,或者仅部分模拟文件系统?

0 投票
0 回答
227 浏览

chef-infra - chefspec 中多个食谱路径的问题

我的一些食谱在cookbooks-org 文件夹中,有些在cookbooks 文件夹中。当我尝试运行规范时,我收到一条错误消息,提示找不到其中一本食谱的食谱。

在以下情况下,cookbook-org 中存在cookbook,cookbooks 文件夹中存在cookbook1,我得到了cookbook1 的Chef::Exceptions::CookbookNotFound

0 投票
1 回答
444 浏览

chef-infra - 使用 chefspec 测试对厨师定义的调用是否有意义?

我有一个依赖于apache2食谱的配方,除其他外,使用定义启用模块:

有没有办法用 chefspec 测试那个调用?

根据“厨师库或定义? ”,定义只是几个资源的组合。

我应该为定义添加的每个资源添加期望吗?
或者是测试第 3 方代码?

0 投票
2 回答
3140 浏览

chef-infra - ChefSpec 和测试厨房

我正在调查是否可以将 ChefSpec 报告(具有覆盖范围)和 Test Kitchen 报告生成为 junit 格式,以便 Jenkins 对其进行解析以发布结果。或者,如果有其他友好的方式,这些结果可以由 Jenkins 发布。

谢谢。

编辑 1:抱歉,如果我解释不正确,但我知道 chefspec 用于单元测试,而测试厨房用于集成测试。我在这个问题中的意思是如何以Jenkins可以解析的格式(例如junit格式)获取测试结果报告(对于chefspec和另一个手动测试厨房)。

0 投票
1 回答
910 浏览

search - 无法为chefspec存根partial_search

我正在编写一本运行部分搜索以在其他节点上查找属性的食谱。我的 chefspec 测试因错误而失败ERROR: Connection refused connecting to localhost:443。搜索实例化如下:

我不正确地存根吗?

0 投票
1 回答
880 浏览

ruby - ChefSpec 和 Ark 资源测试

我开始使用 chefspec 进行测试,我认为这是一个非常简单可靠的测试框架。但是我在方舟资源测试方面遇到了一些问题。我有这个 default_spec.rb

这是我想要为我的食谱做的测试df-maven::default

但是当我运行测试时出现错误undefined local variable or method 'put_ark'

然后我将它添加到我的 spec_helper 中(因为我认为匹配器应该做到这一点):

但我得到一个undefined method resources' for #<ChefSpec::Runner:0x40a2650>错误

在实际实践中,它做了需要做的事情,但是我被要求开始为我所有的食谱做测试,所以我决定从我的 df-maven 食谱开始。

无论如何,我认为我必须定义匹配器,但我不明白如何去做并使我的测试通过。