2

私のクックブックのデフォルトのレシピには、他のいくつかのレシピが含まれています。以下を使用して、適切なレシピが含まれていることをテストできることを知っています。

expect(chef_run).to include_recipe 'cookbook::recipe_name

しかし、 include_recipe 呼び出しをそのようにスタブした場合、これは機能しません

Chef::Recipe.any_instance.stub(:include_recipe).with(anything).and_return(true)

この仕様のすべてのレシピで欠落しているすべての属性を定義する必要がないように、include_recipe 呼び出しをスタブ化しています。

メソッドをスタブして返すことtrueで、ChefSpec が実行されたと報告し、レシピが含まれていると見なすと思っていましたが、そうではありません。何か案は?

4

2 に答える 2

1

上記を質問として投稿するつもりでしたが、「RoboticCheese」が github に投稿した解決策を見つけたので、他の人に役立つかもしれないので、自分の質問に答えています。

上記のようにスタブ インクルード レシピを実行しますが、いくつかの RunContext メソッドをスタブ化して、レシピがインクルードされたとカウントする必要もあります。

于 2013-06-19T17:25:04.933 に答える