Test-driven development for cookbooks using ChefSpec
Test-driven development (TDD) is a way to write unit tests before writing any recipe code. By writing the test first, you design what your recipe should do. Then, you ensure that your test fails, while you haven't written your recipe code.
As soon as you've completed your recipe, your unit tests should pass. You can be sure that your recipe works as expected – even if you decide to refactor it later to make it more readable.
ChefSpec is built on the popular RSpec framework and offers a tailored syntax to test Chef recipes.
Let's develop a very simple recipe using the TDD approach with ChefSpec.
Getting ready
Make sure you have a cookbook called my_cookbook
and the run_list
of your node includes ...
Get Chef Cookbook - Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.