serverspec服务测试返回错误的错误

时间:2015-06-11 14:24:45

标签: ruby serverspec

为什么此测试会返回失败?我正在使用serverspec 2。

1) Service "cfengine3" should be enabled
  Failure/Error: it { should be_enabled }
    expected Service "cfengine3" to be enabled
    sudo -p 'Password: ' /bin/sh -c chkconfig\ --list\ cfengine3\ \|\ grep\ 3:on

来自spec文件:

describe service( 'cfengine3' ) do
   it { should be_enabled }
end

主持人手动测试:

newatson@atlspf01:~$ sudo /bin/sh -c chkconfig\ --list\ cfengine3\ \|\ grep\ 3:on
cfengine3       0:off   1:off   2:on    3:on    4:on    5:on    6:off
newatson@atlspf01:~$ echo $?
0

2 个答案:

答案 0 :(得分:0)

我遇到的一个问题是,我必须取消注释" PATH"我的spec_helper.rb中的变量。我想出来读另一个问题的github。如果你像我一样受苦,请检查你的规范助手。它默认不包含/ sbin和/ usr / local / sbin。

答案 1 :(得分:-2)

尝试使用运行级别指定,如下所示:

describe service('cfengine3') do
    it { should be_enabled.with_level(2) }
    it { should be_enabled.with_level(3) }
    it { should be_enabled.with_level(4) }
    it { should be_enabled.with_level(5) }
    it { should be_running }
end

我在RHEL6机器上遇到了同样的问题。当你指定be_enabled.with_level(x)时,它似乎会填充一些值以使be_running传递。