Chef infra 验证某物是否为空的常用方法

Chef infra 验证某物是否为空的常用方法,chef-infra,inspec,Chef Infra,Inspec,我是InSpec的新手,希望从您的经验中学习 有一些方法可以验证文件或其属性是否为空 方法1-使用文件资源读取其内容。使用eq匹配器检查输出“” 方法2——使用文件资源读取其内容,但选中null describe file('file_path') do its(:contents) { should be nil } end 方法3(不常见)-使用命令资源执行cat命令 describe command('cat /etc/file_path') do its(:stdout) {

我是InSpec的新手,希望从您的经验中学习

有一些方法可以验证文件或其属性是否为空

方法1-使用文件资源读取其内容。使用eq匹配器检查输出“”

方法2——使用文件资源读取其内容,但选中null

describe file('file_path') do
  its(:contents) { should be nil }
end
方法3(不常见)-使用命令资源执行cat命令

describe command('cat /etc/file_path') do
  its(:stdout) { should eq ' ' }
end
方法4-使用应为空

describe file('file_path') do
  its(:contents) { should be_empty }
end
如果还有其他方法,请随时提出建议


如果使用不常见的方法是否会影响性能?

为什么不
其(:size){should eq 0}
?这避免了实际传输内容的需要。

感谢您提供了另一种我不知道的方法。那很有效!我投票结束这个问题,因为这不是一个问题。这是一个小型教程。这是一个深入的技术问题,旨在了解最小化性能影响的最佳方法。不知道你为什么认为它是迷你教程。
describe file('file_path') do
  its(:contents) { should be_empty }
end