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

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
主站蜘蛛池模板: 南溪县| 正镶白旗| 长葛市| 汉沽区| 民丰县| 屯留县| 英山县| 自贡市| 三亚市| 英山县| 深圳市| 荣成市| 奉新县| 江陵县| 鄱阳县| 松溪县| 镇平县| 漳浦县| 保德县| 兴文县| 滁州市| 大竹县| 十堰市| 吉林市| 定安县| 元氏县| 慈利县| 边坝县| 诏安县| 合川市| 七台河市| 宜良县| 吴江市| 湘阴县| 黎城县| 西峡县| 贵州省| 平遥县| 嘉兴市| 渭南市| 宝山区|