Inspec测试多个实体

时间:2017-05-09 06:11:27

标签: chef inspec

我正在为我的厨师食谱编写inspec测试,其中有5个文件需要测试他们的模式。所有这些都应该具有相同的模式0755。

describe file('/dev') do
 its('mode') { should cmp '00755' }
end

这是我正在使用的sytax。但是这只测试了1个文件(/ dev)。是否可以使用单个测试块测试多个文件?

2 个答案:

答案 0 :(得分:3)

您可以使用ruby代码测试多个实体

dirs = ["/lib","/bin","/dev"]
dirs.each do |path|
    describe file(path) do
        its('type') { should eq :directory }
        it { should be_directory }
    end
end

答案 1 :(得分:1)

它不是一个完整的单个测试块',但您可以迭代文件列表:

%w(/dev /tmp).each do |path|
  describe file(path)
    its(:mode) { should cmp '00755' }
  end
end