草庐IT

serverspec

全部标签

ruby - 即使失败也继续进行多主机测试

我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

ruby - 使用 serverspec 使用相同的测试测试多个主机

Serverspec站点的高级提示部分显示了使用相同测试集测试多个主机的示例。我自己构建了一个示例(https://gist.github.com/neilhwatson/81249ad393800a76a8ad),但存在问题。第一个问题是测试在第一次失败时停止,而不是通过批处理继续进行并保持计数。第二个是故障输出没有指明故障发生在哪个主机上。我该怎么做才能解决这些问题并为所有房东生成最终报告? 最佳答案 对于第一个问题,默认情况下ServerSpec将运行您的所有测试。但是,由于您有一个为每个环境执行Rake任务的循环,因此第一个

windows - Windows 上的 Test-Kitchen serverspec 测试异常

当使用chefgeneratecookbookhello命令时,生成的serverspecspec_helper.rb文件将不适用于Test-Kitchen1.4.1和windows。kitchenverify命令将在windows平台上抛出以下内容:C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/specinfra-2.37.5/lib/specinfra/backend/exec.rb:98:in`spawn':Nosuchfileordirectory-/bin/sh-cls\/etc/arch-release(Err

rspec - 如何使用 serverspec 服务资源测试 redis 服务是否正在运行?

我正在使用Test-Kitchen与serverspec总线。我正在尝试测试redis服务正在运行到我的厨房实例中。这是我的serverspec测试。describe"myapp::redis"dodescribeservice('redis6379')doit{shouldbe_enabled}it{shouldbe_running}endend但是当我运行命令kitchenverify时,结果是myapp::redisService"redis6379"shouldbeenabledshouldberunning(FAILED-1)它测试告诉我redis服务已启用但未运行。这里发生

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

我在使用ServerSpec对我的Chef说明书运行集成测试时遇到了问题。当我今天尝试运行测试时,没有做任何更改,我收到以下错误:tl;博士/tmp/busser/suites/serverspec/spec_helper.rb:3:in':uninitializedconstantSpecInfra(NameError)>[#]----Beginoutputofkitchenverify'(default)-.+'-p---->[#]STDOUT:----->StartingKitchen(v1.2.1)>[#]----->Verifying...>[#]Removing/tmp/b

ruby - Serverspec:检查目录是否为空

我想检查现有目录是否为空(不包含任何文件或子目录)。我尝试了以下方法:describefile('/path/to/file')doit{shouldbe_empty}end但这行不通。(当然,因为它没有在文档中提到。)重要提示:我不想测试目录是否存在-它确实存在并且我无法更改它。我的解决方案现在如下所示:describecommand('ls/data/nginx/cache/services|grep-q.')doits(:exit_status){shouldeq1}end但这不是使用Serverspec资源类型"file"。有没有更好的方法来测试文件夹是否为空?