问题标签 [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.
ruby - ChefSpec 从包含的食谱中计算资源
我有一本厨师食谱 (cookbook_alpha::default),其中包括另一本食谱 (cookbook_bravo::default),使用include_recipe 'cookbook_bravo::default'
.
当我使用 ChefSpec 测试 cookbook_alpha 时,会显示和测试 cookbook_alpha 中的所有资源。但是 cookbook_bravo 中的资源(文件、模板、用户等)显示为Untouched resources
在 cookbook_alpha 测试运行中。Cookbook_bravo 有它自己的测试套件并且被充分覆盖,我认为没有必要在 cookbook_alpha 中编写重复的附加规范,只是为了覆盖来自 cookbook_bravo 已经测试过的资源。
ruby - 通过从属性文件动态传递值来创建厨师食谱
我创建了一个厨师食谱,其中安装了提到的特定 rpm。这个 rpm 有一个版本号,需要从属性文件(它本身是动态创建的)动态加载。然后需要将此厨师食谱加载到厨师服务器中。
这里,v91-2
是需要通过从属性文件中读取动态进入配方的值。
这是可以实现的吗?如果是,我该如何继续实现它。(不知道红宝石)!
unit-testing - 用于在配方中测试数据包的 chefspec
我的食谱中有这段代码,现在我想编写一个 chefspec 来测试代码,然后再在节点上执行它。
我已经搜索了一些示例规范配方,但我找不到与数据包相关的任何内容。
我需要一些关于如何编写规范来测试上述代码的帮助。
ruby-on-rails - cron_d 的 chefspec NoMethodError
我有一个成功的资源:(收敛,按预期工作)
但添加规格后
chefspec
得到错误:
为什么会这样?
匹配器已经定义https://github.com/opscode-cookbooks/cron/blob/master/libraries/matchers.rb
我是否需要include
或require
在我的规范文件中使用某些东西(到目前为止都没有工作)?还是我需要创建自己的?
(编辑:stackoverflow autobot 要求我添加 ruby-on-rails 标签,所以我做到了。)
ruby - chefspec:设置要在配方中的所有测试中使用的全局节点属性
我目前正在编写一个chefspec 配方,它设置某些节点属性,这是完成我的单元测试所必需的。我目前在每个测试中都设置这些属性,这似乎很浪费。我希望以不重复代码的方式执行此操作,即“全局属性?”。
我目前的工作配方如下:
这个 chefspec 测试通过没有问题:
但是,我希望只设置一次“node.automatic”和“node.set”语句(在测试之外),然后在后续测试中重用它们。
我“全局”设置这些属性的努力如下所示:
它返回以下错误:
我是chefspec的新手,所以也许我遗漏了一些东西。任何帮助是极大的赞赏。谢谢。
unit-testing - 存根节点属性?在厨师长
我正在尝试为以下配方代码创建规范测试:
我对此有以下规范:
问题是这个测试总是会失败。如何正确模拟“node.attribute”的结果?? 谢谢你。
chef-infra - 非核心资源的chefspec测试
谁能告诉我如何为以下食谱代码编写chefspec测试?
我已经尝试了一些类似下面的方法,但我想这会失败,因为执行是由 selinux_policy 食谱执行的。
这失败了,因为没有定义方法:
所以我不太确定还能做什么。
任何帮助将非常感激。
谢谢,
爱德华
chef-infra - chefspec 测试杂散红宝石变量
在这里,我在变量中返回提供者的状态,如何在 chefspec 中模拟该状态以进行测试?
chef-infra - chefspec 测试中的 new_resource 分配
我陷入了一个chefspec测试,该测试进入我的lwrp下面并断言它创建了一个目录。
如果我取消注释下面的行,则测试有效,但在尝试从 new_resource.settings 获取值时失败
chefspec 有没有办法传入上面的 new_resource 值?
谢谢你的帮助。
爱德华
*更新
它失败并显示以下消息:
ruby - 从 rakefile 执行厨师测试
我有一些可以通过命令运行的主厨单元测试:chef exec rspec
但是,我正在尝试从 TeamCity 运行这些,并且我正在使用 rakefile。当我尝试执行 rakefile 时,测试文件中的 require 'chefspec' 行会导致错误"cannot load such file -- chefspec (LoadError)"
我知道chefspec已安装。我是 Ruby、chefspec、rspec 的新手。我知道提到了一个 gemspec 文件,我试图在可以运行命令chef exec rspec
来执行测试的目录中创建一个。但是,当我尝试运行时,bundle install
我得到了错误Could not locate Gemfile or .bundle/ directory
。安装 ruby 时是否有 gemfile 的默认位置?在这一点上我很迷茫。
C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
require': 无法从 C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in 加载此类文件 -- chefspec (LoadErr or) from C require'
from D:/../spec/octopus_tentacle_spec.rb:1:in
:/Ruby22/lib/ruby/ gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in load'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in
block in load_spec_files' from C:/Ruby22/lib/ruby/gems/2.2.0/ gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in each'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in
load_spec_file 来自 C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3。 2/lib/rspec/core/runner.rb:102:in setup'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:88:in
run' 来自 C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner .rb:73:in run'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:41:in
invoke' 来自 C:/Ruby22/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/exe/rspec:4:in <top (required)>'
from C:/Ruby22/bin/rspec:23:in
load' 来自 C:/Ruby22/bin /rspec:23:in<main>'