Руководство serverspec по типам ресурсов не объясняет, как протестировать на отсутствие файла, а не его присутствие. Это является лучшим, я мог придумать:
describe command('/bin/bash -c "[[ ! -e /var/foo ]]"') do
its(:exit_status) { should eq 0 }
end
Это кажется ужасно неуклюжим, но лучше, чем усиление builtins:
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
Существует ли лучший способ сделать это?
Объект serverpec File
теперь отвечает .exists?
, так что это работает:
describe file('/var/foo') do
it { should_not exist }
end
Функция была добавлена в serverpec v2.17.0.