0

为什么此测试返回失败?我正在使用 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

从规范文件:

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
4

2 回答 2

0

我遇到的一个问题是我必须在我的 spec_helper.rb 中取消注释“PATH”变量。我发现阅读 github 是为了解决另一个问题。如果您像我一样受苦,请检查您的规范助手。默认情况下,它不包括 /sbin 和 /usr/local/sbin。

于 2016-11-03T22:10:08.533 回答
-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 也通过。

于 2015-11-09T12:38:03.443 回答