Chef の deploy リソースを「拡張」する Chef リソースを作成しました。基本的な考え方は、デプロイするソースにdeploy/crontab
メカニズムに似たファイルが存在するかどうかを確認し、そこから cron ジョブを作成することです。deploy/after_restart.rb
このメカニズムは正常に機能しますが ( https://github.com/fh/easybib-cookbooks/blob/t/cron-tests/easybib/providers/deploy.rb#L11-L14を参照)、私は苦労していますそのためのChefSpecベースのテスト。現在、を使用してモックを作成しようとしていますがFakeFS
、Chef を実行する前にファイルシステムをモックすると、モックされたファイルシステムにクックブックが存在しないため、クックブックが見つからないため実行が失敗します。そうしないと、モック ファイルdeploy/crontab
が明らかに見つからないため、プロバイダーは何もしません。私の現在のアプローチは、chef_run のFakeFS.activate!
直前にトリガーすることです。runner.converge(described_recipe)
ここで適切なテストを行う方法について、いくつかの推奨事項を聞きたいです: FakeFS を deploy-resource-run の直前にのみ有効にするか、ファイルシステムを部分的にのみモックする可能性はありますか?