问题标签 [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.
ruby - 是否可以在 serverspec 中包含通用测试?
我正在使用serverspec对服务器进行远程测试。
我有许多不同的测试,它们都工作正常:
但是,每个主机测试都有很多重复,例如,因为我想确保每个主机都在sshd
运行。
我尝试了几种不同的创建方式,spec/common_tests.rb
但每次都失败了。例如添加spec/common.rb
:
然后在spec/chat.example.org.uk/host_spec.rb
:
然而,这似乎突然想要连接到不同的主机,并失败:
所以我的问题是双重的:
- 是否可以包含来自外部文件的常见测试?
- 如果是这样,我该如何做到这一点?
ruby - 如何为 test-kitchen verify 命令指定 specinfra 的版本?
https://github.com/serverspec/specinfra的最新版本已损坏(https://github.com/serverspec/specinfra/pull/229)。
所以当我执行时:
厨房验证
它不会验证,只会抛出一些错误。
所以我想 - 如何为测试厨房指定一些特定版本的 specinfra gem?
然后我可以指定以前有效的版本并继续开发。
我确信这个特定的错误会得到修复,但如果知道如何更改 test-kitchen 使用的 gem 版本,那就太好了。
因为它会再次发生。
ruby - Chef ServerSpec SpecInfra 未初始化常量 NameError
我在使用 ServerSpec 在我的 Chef 食谱上运行集成测试时遇到了问题。当我今天尝试运行测试时,没有进行任何更改,我收到以下错误:
tl;博士
有谁知道为什么会这样?
根据评论:
该文件按照使用该应用程序的说明进行,并且以前未更改。
chef-infra - Chef ServerSpec 主机资源不工作
我正在尝试编写一个 ServerSpec 测试来针对已部署的实例运行。以下是相关测试:
当我尝试运行这个测试时,我首先发现 ncat 没有安装(Centos 7 最小)。我安装了该软件包,现在当我尝试运行测试时,我得到以下响应:
这只是 ServerSpec 的一个错误吗?是否有已知的解决方法?
ruby - Rake / Rspec:如何抑制/静默/静默显示带有 --pattern 的命令的第一行输出?
问题:
如果我使用以下命令之一运行ServerSpec
(基于RSpec
) :Rake
rake
rake spec
rake spec:all
rake spec:<host>
bundle exec rake
- ...
stdout
Rake在 serverspec 输出之前打印它执行的命令:
如果我手动通过目标主机来rspec
喜欢这个......
...该行不显示。
问题:
如何防止Rake
输出此行/命令?
我正在使用由serverspec-init
.
ruby - Chef ServerSpec 正则表达式匹配不起作用
我正在尝试将正则表达式计算为命令的标准输出。即使正则表达式应该匹配它似乎并没有这样做:
为什么正则表达式不匹配?
在食谱中运行的类似正则表达式可以正常工作:
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 用于检测操作系统的任何东西时,某些东西都没有正确初始化。
ruby - 如何在厨房服务器规范测试中要求食谱库
在一本食谱上,我定义了一个类 Rds::Checks,它共享为 bash/execute 资源和 Guards 构建 unix 命令的方法。文件库/checks.rb 的示例是:
在 LWPR 提供程序、食谱和 chefspec 测试中,文件加载没有问题,但是当我通过它在 serverspec 中使用它时kitchen verify
会引发错误。
我真的很想保留在公共层上构建 bash/sh 命令的方法,以便我可以单独对其进行测试,而不必在单元和集成测试中为它们烦恼
serverspec - 运行 SeverSpec 测试时,`initialize': getaddrinfo: Name or service not known (SocketError) 发生错误
我是 Serverspec 测试工具的新手。
运行测试时,出现以下错误。
在 Serverspec 安装期间,我按照http://serverspec.org/中的说明进行操作。作为先决条件,我还安装了“开发者工具”、Ruby 和 RubyGem。
ruby - 如何对所有命令使用 sudo 对 localhost 运行 serverspec 测试?
当使用 SSH 在远程主机上执行测试时,Serverspec 会自动为每个命令添加 sudo。这很好用,但我希望在本地运行我的 serverspec 测试,而且我的许多测试都需要 sudo 权限。我正在使用 RVM 和捆绑器,我不想使用 sudo 处理安装 serverspec 和依赖项。
为什么 serverspec 在执行本地测试时不预先添加 sudo 或至少提供使用 sudo 的选项?在本地运行时,如何强制 serverspec 对每个命令使用 sudo?