I wouldn’t necessarily call that testing, exactly, also, the
sudo might be unnecessary in their environment (dangerous, even).
With regards to ChefSpec, that’s how we handle doing unit testing of our recipes. It’s fast (no convergence required), and lets you follow a TDD mentality (write your ChefSpec assertions first, then write your recipe).
On the other hand, integration tests are essential to determining that your cookbook actually did what you want it to do. For this, we utilize Test Kitchen, backed by either Vagrant or EC2, and Serverspec as our assertion library. This allows you to write tests, using Rspec syntax, that asset that the final result of your convergence has what you need (services are running, ports are being listened on, files exist & have certain content, etc.)
Between these two test libraries, we have grown in confidence regarding our cookbooks.
On October 28, 2014 at 5:17:20 AM, Malli Pulla Reddy (email@example.com) wrote:
sudo knife bootstrap --sudo -x -P -r “recipe [your_cookbook_name]”
above command will do bootstrap and it will install cookbook.
From: Sachin Gupta [mailto:firstname.lastname@example.org]
Sent: Tuesday, October 28, 2014 2:15 PM
Cc: sachin kumar
Subject: [chef] Unit Testing chef Cookbook
I would like to know how to do unit testing of chef cookbooks. I have heard about chefSpec but not very much familiar and used to …
My team had developed few cookbooks and would like to know the code coverage, etc.
Any help would be highly appreciated.
Thanks & Regards,