Inspec тестирует несколько объектов
Я пишу тесты inspec для моих рецептов шеф-повара, в которых есть 5 файлов, которые нужно проверить в своем режиме. Все они должны иметь одинаковый режим 0755.
describe file('/dev') do
its('mode') { should cmp '00755' }
end
Это тот синтаксис, который я использую. Но это тестирует только 1 файл (/dev). Можно ли протестировать несколько файлов, используя один тестовый блок?
1 ответ
Вы можете использовать код ruby для тестирования нескольких объектов
dirs = ["/lib","/bin","/dev"]
dirs.each do |path|
describe file(path) do
its('type') { should eq :directory }
it { should be_directory }
end
end
Это не совсем "одиночный тестовый блок", но вы можете перебрать список файлов:
%w(/dev /tmp).each do |path|
describe file(path)
its(:mode) { should cmp '00755' }
end
end