如何使用 serverspec 测试文件是否存在?

如何使用 serverspec 测试文件是否存在?

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 中。

相关内容