官术网_书友最值得收藏!

Unit testing your module

The number one most important thing you can do to bring quality to your modules is to test them! Testing really is one of the most important aspects of software quality assurance in any field of software development. In the agile development community, we've been banging on the table about automated testing for more than 10 years!

Puppet RSpec (http://rspec-puppet.com/tutorial) has been allowing the Puppet community to unit test their modules for quite some time, but it's even easier now with the new PDK 1.0, as everything is set up ready, and you can just add your testing code and run the tests.

From a Puppet perspective, unit testing means checking the output from the compiler. Are the resources contained in the compiled relationship resource catalog, and is their order as expected, given the parameters passed and/or facts present?

When you begin to write tests in Puppet-RSpec, it seems at first like all you are doing is rewriting the Puppet manifests in another Ruby-like language. There is, however, really more to it than that. If there is some reasonable complexity to the module's functionality, for example, testing the dynamic content produced by Puppet templates, support for multiple operating systems, and different actions according to the passed parameters, then these tests actually form a safety net when editing or adding new functionality to your modules, protecting against regressions when refactoring, or upgrading to a new Puppet release.

Let's carry on from the previous two sections and use the development kit to unit test our module. Whenever you generate a class using the pdk new class command, PDK creates a corresponding unit test file. This file, located in your module's /spec/classes folder, already includes a template for writing your unit tests (see http://rspec-puppet.com/tutorial). You can then run the tests using the following command:

$ pdk test unit
主站蜘蛛池模板: 上思县| 红安县| 华亭县| 许昌市| 海盐县| 集安市| 乌拉特前旗| 荆门市| 封丘县| 鸡东县| 博湖县| 宜都市| 体育| 师宗县| 铁岭市| 河池市| 兰溪市| 苍南县| 彩票| 洱源县| 江阴市| 美姑县| 沂南县| 东阳市| 罗源县| 祥云县| 精河县| 乌鲁木齐县| 海阳市| 和平县| 镇坪县| 固原市| 洛川县| 河曲县| 凉城县| 徐汇区| 塔河县| 繁峙县| 台中市| 罗甸县| 汉源县|