问题标签 [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 中模拟 Ruby 的 require 语句?
在过去的几周里,我一直在编写 ChefSpec 单元测试套件,并设法用它做了很多事情,但我发现了一个让我难过的场景。我有一个包含“aws”食谱的默认食谱的食谱,它依次安装right_aws
然后继续require
它。
但是 ChefSpec 运行程序似乎有问题,吐出 Ruby LoadError:
有没有办法require 'right_aws'
在我的测试中模拟“aws”食谱中的那条线?推荐吗?在运行 ChefSpec 测试的系统上简单地安装 right_aws gem 会更好吗?
rspec - 在 chefspec 中打开的存根文件
您好正在使用 chefspec 进行测试,我发现以下错误。
在/cookbook/wordpress/recipes/default.rb
当我运行 ChefSpec 时,我得到:
当我添加一个存根时default_spec.rb
我收到此错误:
ruby - rspec-expectations-2.99.0/lib/rspec/matchers/built_in/raise_error.rb:5:未初始化的常量 RSpec::Matchers::BuiltIn::RaiseError::MatchAliases
在我的说明书目录中运行 rspec 时输出错误。
我尝试基于此使用 require 'rspec/expectations'但这没有帮助。尝试使用 chefdk for windows 运行。但是同样的问题
这是我的宝石清单。C:\Users\a540409\IdeaProjects\stores-v2\chef>gem 列表
我的 spec_helper.rb:
我的 default_spec.rb:
ruby - ChefSpec 找不到我的 Chef 资源
我有一本包含一堆食谱和 LWRP 的食谱。我现在想开始使用 ChefSpec 进行覆盖,并写了一个示例:
我的跑步结果:
有没有人知道为什么 ChefSpec 没有注意到我的资源?
编辑:
按照赛斯的建议搬家ChefSpec::Coverage.start!
。
这是一个简单的食谱:
rvm - 使用 rvm 打破 ChefSpec 测试包括
所以我正在尝试为我的一个厨师食谱编写一个单元测试(通过 ChefSpec),但我得到了一些奇怪的行为。
我有问题的配方包括 rvm::system_install 配方,显然这会导致 ChefSpec 出现问题:
有问题的代码段:
这就是我的测试的样子:
这是theoracle::prereqs
食谱(部分):
chef-infra - 测试库厨师食谱
摘要:我怎样才能最好地测试一本打算从另一本食谱中收录的图书馆食谱?
详细信息:我正在编写一本包含 LWRP 和最小默认配方的食谱,该配方根据运行位置设置一些属性。然而,由 LWRP 定义的新资源旨在从其他食谱中使用。
因此,例如,库说明书在 mylib/resources/example.rb 和 mylib/providers/example.rb 中定义并实现了 mylib_example 。例如,“客户端”食谱将使用client/recipes/default.rb中的它作为
如何从图书馆说明书本身测试资源使用情况?我不关心框架,目前正在与 Test Kitchen 和 Chefspec 到期。
ruby - 带有循环的chefspec测试资源
如果我有一个具有以下属性的厨师食谱
我将如何编写一个 chefspec 测试来处理基于属性创建的目录数组?
谢谢您的帮助。
rspec - 在 apache_wrapper 食谱中运行 chefspec 时“未找到食谱 apache_wrapper”
我是厨师规范的新手,并试图弄清楚如何在我的食谱中使用单元测试。我已经安装了 chefdk(在不同的 ubuntu 实例上的 v2 和 v3)和刀规格插件。创建“apache_wrapper”食谱后,我更改了下一个文件:
规范/spec_helper.rb
规范/食谱/default_spec.rb
在我的食谱 default.eb 中:
但是当我调用 rspec 时,我得到了下一个:
并在食谱文件夹 Berksfile.lock 出现。谁能告诉我我做错了什么?
升级版:
伯克斯文件:
Berksfile.lock
UPD2:
UPD3:
我也尝试使用下一个
现在收到
我不明白,我做错了什么,今天我开始了新的实例,在那里安装了 ruby2.1 和所有的 gem,比如 chefspec 和其他。现在使用 rake 运行测试,但仍然得到同样的错误
解决方案:只需将“元数据”添加到食谱 Berksfile
windows - Chefspec 使用类似 Windows 的路径删除文件
我正在尝试为文件删除编写测试:
test/recipes/default.rb
cat spec/default_spec.rb
但是在调用 rspec 命令后,我得到了:
如果我设置 linuxlike 路径 - 一切正常,正如你所看到的,我尝试存根文件。任何想法我做错了什么?
PS:我在 linux、ruby 2.1、chefspec 4.1 上运行测试
rspec - Chef cookbook_file 和模板资源:如何测试该源是否存在?
如果我在配方中使用模板资源
我使用 chefspec/rspec 进行测试
所有测试都通过......
即使食谱中缺少源模板“bar”。
这给我留下了一本食谱,它通过了我能想到的所有测试,但是当我尝试运行它时会失败。Cookbook_file 资源也是如此。
我可以看到如何测试资源可以查找源文件的所有位置(根据资源文档中的“文件特定性”部分)是如何成为蠕虫的,但它似乎仍然是测试工具中的一个大漏洞.
我是否忽略了一种测试源文件是否存在的方法,或者在更基本的层面上做错了什么?还是这就是它的本来面目,每个人都与之共存?