web-dev-qa-db-ja.com

serverspecを使用してファイルの不在をテストする方法

リソースタイプに関するserverspecガイド は、ファイルの存在ではなく、ファイルの不在をテストする方法を説明していません。これは私が思いつくことができる最高のものです:

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

これを行うためのより良い方法はありますか?

6
conorsch

Serverspec Fileオブジェクトが.exists?、これは機能します:

describe file('/var/foo') do
  it { should_not exist }
end

機能 追加されました serverspecv2.17.0で。

6
conorsch