2016-08-09 14 views
1

シェフのInSpecコマンドリソースを実行しています。コマンドの出力とファイルの内容を一致させています。次に、私は次のリソースを使用した後にそのファイルを削除します。しかし、次のコマンドは""を返し、テストは失敗します。ファイルを削除する前にシェフのInSpecリソースを使用する

describe command("some command") do 
    its ('stdout') {should match /some_regex/} 
end 

ただし、ファイルを削除しないと、上記のコマンドは予想される出力を返します。 InSpecリソースに問題がありファイルを削除していますか?

答えて

1

Rspec(したがってInSpec)には、シェフと同様の(ただし関連性がなく独特の)2パスローディングモデルがあります。つまり、コード内にあるように見えても、テストが実行される前に削除している可能性があります。ブロックafter(:all)をお試しください。それは通常のRSpecでそれを行う方法ですが、InSpecはRspecをいくつかの場所で使い分けていますので、100%は動作しません。

+0

ありがとうございます。それは多くの助けとなりました。シンタックスと少しの努力をして少し演奏した後、それはうまく動作しましたが、RSpecとまったく同じではありませんでした。 – saurg

関連する問題