首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在Inspec中使用主厨变量?

是否可以在Inspec中使用主厨变量?
EN

Stack Overflow用户
提问于 2017-08-04 14:42:48
回答 1查看 3.1K关注 0票数 4

我正在学习如何为我的厨师食谱编写集成测试。是否可以在我的测试中引用attributes文件夹中的变量?

这是我的测试,以确保httpdphp安装正确。然而,我有额外的软件包,我想检查。

测试/吸烟/默认/安装.

代码语言:javascript
复制
%w(httpd php).each do |rpm_package|
  describe package(rpm_package) do
    it { should be_installed }
  end
end

属性/default.rb

代码语言:javascript
复制
default['ic_apachephp']['php_packages'] = [
                              'php-mysqlnd',
                              'php-mbstring',
                              'php-gd',
                              'php-xml',
                              'php'
                            ]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 16:08:02

是的,这是可能的,但不是“直接”的。马特·沃克在这个博客条目中描述了这一点。

必要的步骤是:

  • 添加一个菜谱(例如,名为export-node,在test/fixtures/cookbooks/下面),其中包括一个包含以下内容的菜谱(将节点属性转储到指定的JSON文件中): ruby_block“保存节点属性”做块做IO.write(“/tmp/厨房_厨师_node.json”,node.to_json)结束
  • 将此配方添加到.kitchen.yml中的运行列表中
  • 在inspec测试中加载node对象 node =json(‘/tmp/厨房_厨师_node.json’).params

请注意,您必须手动从正确的属性优先级级别(自动/默认/正常/覆盖)中选择,因为这些属性没有合并。

您也可以在这本食谱中找到我的一个例子:TYPO3 3-食谱/T3-pdns

编辑:我忘了告诉伯克希尔关于那本烹饪书的步骤。添加到您的Berksfile

代码语言:javascript
复制
group :integration do
  cookbook 'export-node', path: 'test/fixtures/cookbooks/export-node'
end
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45509641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档