问题标签 [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 回答
1037 浏览

ruby - 是否可以(甚至推荐)在 ChefSpec 中模拟 Ruby 的 require 语句?

在过去的几周里,我一直在编写 ChefSpec 单元测试套件,并设法用它做了很多事情,但我发现了一个让我难过的场景。我有一个包含“aws”食谱的默认食谱的食谱,它依次安装right_aws然后继续require它。

但是 ChefSpec 运行程序似乎有问题,吐出 Ruby LoadError:

有没有办法require 'right_aws'在我的测试中模拟“aws”食谱中的那条线?推荐吗?在运行 ChefSpec 测试的系统上简单地安装 right_aws gem 会更好吗?

0 投票
1 回答
3341 浏览

rspec - 在 chefspec 中打开的存根文件

您好正在使用 chefspec 进行测试,我发现以下错误。

/cookbook/wordpress/recipes/default.rb

当我运行 ChefSpec 时,我得到:

当我添加一个存根时default_spec.rb

我收到此错误:

0 投票
1 回答
667 浏览

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:

0 投票
1 回答
1969 浏览

ruby - ChefSpec 找不到我的 Chef 资源

我有一本包含一堆食谱和 LWRP 的食谱。我现在想开始使用 ChefSpec 进行覆盖,并写了一个示例:

我的跑步结果:

有没有人知道为什么 ChefSpec 没有注意到我的资源?


编辑:

按照赛斯的建议搬家ChefSpec::Coverage.start!

这是一个简单的食谱:

0 投票
1 回答
422 浏览

rvm - 使用 rvm 打破 ChefSpec 测试包括

所以我正在尝试为我的一个厨师食谱编写一个单元测试(通过 ChefSpec),但我得到了一些奇怪的行为。

我有问题的配方包括 rvm::system_install 配方,显然这会导致 ChefSpec 出现问题:

有问题的代码段:

这就是我的测试的样子:

这是theoracle::prereqs食谱(部分):

0 投票
2 回答
1734 浏览

chef-infra - 测试库厨师食谱

摘要:我怎样才能最好地测试一本打算从另一本食谱中收录的图书馆食谱?

详细信息:我正在编写一本包含 LWRP 和最小默认配方的食谱,该配方根据运行位置设置一些属性。然而,由 LWRP 定义的新资源旨在从其他食谱中使用。

因此,例如,库说明书在 mylib/resources/example.rb 和 mylib/providers/example.rb 中定义并实现了 mylib_example 。例如,“客户端”食谱将使用client/recipes/default.rb中的它作为

如何从图书馆说明书本身测试资源使用情况?我不关心框架,目前正在与 Test Kitchen 和 Chefspec 到期。

0 投票
2 回答
1334 浏览

ruby - 带有循环的chefspec测试资源

如果我有一个具有以下属性的厨师食谱

我将如何编写一个 chefspec 测试来处理基于属性创建的目录数组?

谢谢您的帮助。

0 投票
1 回答
1046 浏览

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:

我也尝试使用下一个

现在收到

我不明白,我做错了什么,今天我开始了新的实例,在那里安装了 ruby​​2.1 和所有的 gem,比如 chefspec 和其他。现在使用 rake 运行测试,但仍然得到同样的错误

解决方案:只需将“元数据”添加到食谱 Berksfile

0 投票
1 回答
310 浏览

windows - Chefspec 使用类似 Windows 的路径删除文件

我正在尝试为文件删除编写测试:

test/recipes/default.rb

cat spec/default_spec.rb

但是在调用 rspec 命令后,我得到了:

如果我设置 linuxlike 路径 - 一切正常,正如你所看到的,我尝试存根文件。任何想法我做错了什么?

PS:我在 linux、ruby 2.1、chefspec 4.1 上运行测试

0 投票
1 回答
1907 浏览

rspec - Chef cookbook_file 和模板资源:如何测试该源是否存在?

如果我在配方中使用模板资源

我使用 chefspec/rspec 进行测试

所有测试都通过......
即使食谱中缺少源模板“bar”。

这给我留下了一本食谱,它通过了我能想到的所有测试,但是当我尝试运行它时会失败。Cookbook_file 资源也是如此。

我可以看到如何测试资源可以查找源文件的所有位置(根据资源文档中的“文件特定性”部分)是如何成为蠕虫的,但它似乎仍然是测试工具中的一个大漏洞.

我是否忽略了一种测试源文件是否存在的方法,或者在更基本的层面上做错了什么?还是这就是它的本来面目,每个人都与之共存?