使用 Policyfiles 和 ChefSpec 测试资源说明书

Testing resource cookbook with Policyfiles & ChefSpec

当您执行以下操作时会出现此问题:

  1. 写一本图书馆食谱(即除了空操作外没有食谱 default.rb)
  2. test/fixtures/cookbooks/下创建一本test食谱来练习图书馆。即test/fixtures/cookbooks/test/recipes/system.rb
  3. 编写 describe 'test::system'
  4. 的 ChefSpec 规范
  5. 使用策略文件而不是 Berkshelf。

使用 Berkshelf 时,您将使用 group :integration do ... end 仅在 运行 测试时包含测试说明书。

如何编写在 运行 测试时仅引用测试说明书的策略文件?

现在我的策略文件总是打包测试食谱。不理想但可以接受的东西只是在测试环境中工作。 长期不可持续。

感谢任何提示、提示或咒语。

创建两个策略文件。

其中一个包含您将在 "real" 节点上 运行 的 recipes/attributes。另一个包含在测试厨房中练习食谱所需的内容。

您可以在 kitchen.rb 中指定策略文件路径。

suites:
  - name: default
    provisioner:
      policyfile_path: policies/kitchen.rb