这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
有一个更好的方法吗?
答案1
serverspecFile
对象现在响应.exists?
,因此它可以工作:
describe file('/var/foo') do
it { should_not exist }
end
功能加入在 serverspec v2.17.0 中。