问题标签 [serverspec]

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

ruby - 是否可以在 serverspec 中包含通用测试?

我正在使用serverspec对服务器进行远程测试。

我有许多不同的测试,它们都工作正常:

但是,每个主机测试都有很多重复,例如,因为我想确保每个主机都在sshd运行。

我尝试了几种不同的创建方式,spec/common_tests.rb但每次都失败了。例如添加spec/common.rb

然后在spec/chat.example.org.uk/host_spec.rb

然而,这似乎突然想要连接到不同的主机,并失败:

所以我的问题是双重的:

  • 是否可以包含来自外部文件的常见测试?
  • 如果是这样,我该如何做到这一点?
0 投票
1 回答
270 浏览

ruby - 如何为 test-kitchen verify 命令指定 specinfra 的版本?

https://github.com/serverspec/specinfra的最新版本已损坏(https://github.com/serverspec/specinfra/pull/229)。

所以当我执行时:

厨房验证

它不会验证,只会抛出一些错误。

所以我想 - 如何为测试厨房指定一些特定版本的 specinfra gem?

然后我可以指定以前有效的版本并继续开发。

我确信这个特定的错误会得到修复,但如果知道如何更改 test-kitchen 使用的 gem 版本,那就太好了。

因为它会再次发生。

0 投票
3 回答
3224 浏览

ruby - Chef ServerSpec SpecInfra 未初始化常量 NameError

我在使用 ServerSpec 在我的 Chef 食谱上运行集成测试时遇到了问题。当我今天尝试运行测试时,没有进行任何更改,我收到以下错误:

tl;博士

有谁知道为什么会这样?

根据评论:

该文件按照使用该应用程序的说明进行,并且以前未更改。

0 投票
1 回答
499 浏览

chef-infra - Chef ServerSpec 主机资源不工作

我正在尝试编写一个 ServerSpec 测试来针对已部署的实例运行。以下是相关测试:

当我尝试运行这个测试时,我首先发现 ncat 没有安装(Centos 7 最小)。我安装了该软件包,现在当我尝试运行测试时,我得到以下响应:

这只是 ServerSpec 的一个错误吗?是否有已知的解决方法?

0 投票
1 回答
1832 浏览

ruby - Rake / Rspec:如何抑制/静默/静默显示带有 --pattern 的命令的第一行输出?

问题:

如果我使用以下命令之一运行ServerSpec(基于RSpec) :Rake

  • rake
  • rake spec
  • rake spec:all
  • rake spec:<host>
  • bundle exec rake
  • ...

stdoutRake在 serverspec 输出之前打印它执行的命令:

如果我手动通过目标主机来rspec喜欢这个......

...该行不显示

问题:

如何防止Rake输出此行/命令?


我正在使用由serverspec-init.

0 投票
1 回答
1067 浏览

ruby - Chef ServerSpec 正则表达式匹配不起作用

我正在尝试将正则表达式计算为命令的标准输出。即使正则表达式应该匹配它似乎并没有这样做:

为什么正则表达式不匹配?

在食谱中运行的类似正则表达式可以正常工作:

0 投票
1 回答
1276 浏览

windows - 测试中的第一个“应该安装”在 Windows 上总是失败

首先,我使用 serverspec 2.3.1 和 specinfra 2.4.2,以及 Ruby 1.9.3p550

我仍在调查这个问题,但我想我会在这里问一下,以防有人以前遇到过这个问题(如果没有,我想通了,也许下一个遇到它的人会在谷歌上找到这个答案)。

目标是拥有一个包含应安装在测试系统上的所有软件的规范文件。奇怪的是,无论我写什么,我第一次写,it { should be_installed }都会失败。没有例外。

下面的代码显示了我的意思:

当我运行这个文件时,我会得到第一个测试说 7-Zip is not installed 而第二个测试会说它是。我作为第一个测试所做的任何事情都是一样的。

对我来说不真实的是只有第一个测试会失败,所以我真的不确定会发生什么。我会随时调查并更新这篇文章,但如果有人遇到过这个问题,我真的很想听听你是如何解决这个问题的!

编辑:使用错误消息和 ServerSpecs 在 Windows 上测试包的方式,我认为该命令执行不当,但事实证明该错误甚至在命令运行之前就发生了。至少看起来是这样,因为在 Intellij IDEA 中,当我在specinfra/command/windows/base/package.rb( exec "(FindInstalledApplication -appName '#{package}' #{version_selection}) -eq $true") 的第 7 行设置断点时,从未达到断点,测试失败并进入下一个测试。

编辑 2:设法将问题进一步隔离,它似乎发生在specinfra\helper\os.rb. 我是 Ruby 新手,所以调试起来有点困难,但我猜在第一次运行 ServerSpec/SpecInfra 用于检测操作系统的任何东西时,某些东西都没有正确初始化。

0 投票
1 回答
553 浏览

ruby - 如何在厨房服务器规范测试中要求食谱库

在一本食谱上,我定义了一个类 Rds::Checks,它共享为 bash/execute 资源和 Guards 构建 unix 命令的方法。文件库/checks.rb 的示例是:

在 LWPR 提供程序、食谱和 chefspec 测试中,文件加载没有问题,但是当我通过它在 serverspec 中使用它时kitchen verify会引发错误。

我真的很想保留在公共层上构建 bash/sh 命令的方法,以便我可以单独对其进行测试,而不必在单元和集成测试中为它们烦恼

0 投票
1 回答
1112 浏览

serverspec - 运行 SeverSpec 测试时,`initialize': getaddrinfo: Name or service not known (SocketError) 发生错误

我是 Serverspec 测试工具的新手。
运行测试时,出现以下错误。

在 Serverspec 安装期间,我按照http://serverspec.org/中的说明进行操作。作为先决条件,我还安装了“开发者工具”、Ruby 和 RubyGem。

0 投票
0 回答
457 浏览

ruby - 如何对所有命令使用 sudo 对 localhost 运行 serverspec 测试?

当使用 SSH 在远程主机上执行测试时,Serverspec 会自动为每个命令添加 sudo。这很好用,但我希望在本地运行我的 serverspec 测试,而且我的许多测试都需要 sudo 权限。我正在使用 RVM 和捆绑器,我不想使用 sudo 处理安装 serverspec 和依赖项。

为什么 serverspec 在执行本地测试时不预先添加 sudo 或至少提供使用 sudo 的选项?在本地运行时,如何强制 serverspec 对每个命令使用 sudo?