4

我正在为我的厨师食谱编写检查测试,其中有 5 个文件需要对其模式进行测试。它们都应该具有相同的模式 0755。

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

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

4

2 回答 2

7

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

dirs = ["/lib","/bin","/dev"]
dirs.each do |path|
    describe file(path) do
        its('type') { should eq :directory }
        it { should be_directory }
    end
end
于 2019-03-14T16:03:49.627 回答
1

它不完全是“单个测试块”,但您可以遍历文件列表:

%w(/dev /tmp).each do |path|
  describe file(path)
    its(:mode) { should cmp '00755' }
  end
end
于 2017-05-09T06:21:44.933 回答