out not to be called from anywhere, or that could not be integrated with the rest of the system and had to be rewritten.” ! Steve Freeman & Nat Pryce, Growing Object-Oriented Software, Guided by Tests ! Doing the wrong thing right
[arguments...] [options...]! ! ! Available Commands:! exec Runs the command in context of the embedded ruby! gem Runs the `gem` command in context of the embedded ruby! generate Generate a new app, cookbook, or component! shell-init Initialize your shell to use ChefDK as your primary ruby! verify Test the embedded ChefDK applications Chef CLI
[arguments...] [options...]! ! ! Available Commands:! exec Runs the command in context of the embedded ruby! gem Runs the `gem` command in context of the embedded ruby! generate Generate a new app, cookbook, or component! shell-init Initialize your shell to use ChefDK as your primary ruby! verify Test the embedded ChefDK applications Chef CLI
well written it is; it doesn't matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don't know if our code is getting better or worse.”! ― Michael C. Feathers, Working Effectively with Legacy Code" Conclusion