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

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
主站蜘蛛池模板: 阿拉尔市| 二连浩特市| 诏安县| 碌曲县| 西华县| 江孜县| 峨眉山市| 苏尼特右旗| 陇川县| 徐水县| 西畴县| 长丰县| 瓦房店市| 依安县| 会宁县| 广德县| 迁西县| 同江市| 贵德县| 山阳县| 富源县| 金寨县| 吴忠市| 咸丰县| 九寨沟县| 峡江县| 武隆县| 繁峙县| 临西县| 乌鲁木齐市| 望江县| 鄂温| 贵德县| 平武县| 叙永县| 长乐市| 金溪县| 长宁区| 灵川县| 广德县| 苗栗市|