Linux

如何使用 serverspec 測試文件是否缺失?

  • June 23, 2015

關於資源類型的serverspec 指南沒有解釋如何測試文件是否不存在,而不是它的存在。這是我能想到的最好的:

describe command('/bin/bash -c "[[ ! -e /var/foo ]]"') do
 its(:exit_status) { should eq 0 }
end

這看起來非常笨重,但比利用內置函式更好:

describe file('/var/foo') do
 it { should_not be_file }
 it { should_not be_directory }
 it { should_not be_socket }
 it { should_not be_symlink }
end

有一個更好的方法嗎?

serverspecFile對象現在響應.exists?,所以這有效:

describe file('/var/foo') do
 it { should_not exist }
end

該功能在 serverspec v2.17.0 中添加的。

引用自:https://serverfault.com/questions/682671