レシピでテンプレート リソースを使用する場合
template '/home/user1/foo' do
source 'bar'
end
そして、chefspec/rspec を使用してテストします
...
expect(chef_run).to render_file('/home/user1/foo')
expect(chef_run).to create_template('/home/user1/foo')
expect(chef_run).to create_template('/home/user1/foo').with_source 'bar
...
ソーステンプレート「バー」がクックブックにない場合でも、すべてのテストに合格します。
これにより、考えられるすべてのテストに合格するクックブックが作成されますが、実行しようとすると失敗します。cookbook_file リソースについても同じです。
リソースがソース ファイルを検索できるすべての場所をテストするのはワームの缶詰になることはわかりますが (リソース ドキュメントの「ファイル固有性」セクションに従って)、それでもテスト ツールに大きな穴があるように見えます。 .
ソースファイルの存在をテストする方法を見落としていますか、それともより基本的なレベルで何か間違っていますか? それとも、これが現状であり、誰もがそれと一緒に暮らしているのでしょうか?