2015-07-01 34 views
0

我有一个使用include_recipe 'cookbook_bravo::default'的厨师食谱(cookbook_alpha :: default),其中包含另一个食谱(cookbook_bravo :: default)。ChefSpec通过包含食谱计算资源

当我使用ChefSpec测试cookbook_alpha时,会显示cookbook_alpha中的所有资源并进行测试。但cookbook_bravo中的资源(文件,模板,用户等)在cookbook_alpha测试运行中显示为Untouched resources。 cookbook_bravo拥有自己的测试套件,并且已经充分覆盖,我认为不需要在cookbook_alpha中编写重复的附加规格,只是为了覆盖cookbook_bravo中已经过测试的资源。

+0

请参阅[这里](https://github.com/sethvargo/chefspec#reporting)关于过滤器以避免此行为。 – Tensibai

回答

0

取决于您的食谱依赖管理器(Berkshelf,Librarian,无)ChefSpec可以确定,如果厨师资源调用在当前食谱外面或内部进行。 (您仍然可能需要在前置条件下(only_if,not_if))将呼叫存储到数据包和瘦身中,例如文件系统检查。

如果你为whatevery原因,不能使用任何的整合,你仍然可以在自述中描述存根include_recipe电话:

https://github.com/sethvargo/chefspec#include_recipe

希望这回答了你的问题。