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