As you remember we are in the middle of the series for DSC module creation. I maybe should have mentioned this before but better now than never. What I’m talking about … well its all about good practice within DSC. Some of them we do apply and some we will apply in our DSC series.
As it is good to have it around I decided to do a repost . Source from http://blogs.msdn.com/b/powershell/archive/2014/11/18/powershell-dsc-resource-design-and-testing-checklist.aspx
1 Resource module contains .psd1 file and schema.mof for every resource
2 Resource and schema are correct and have been verified using DscResourceDesigner cmdlets
3 Resource loads without errors
4 Resource is idempotent in the positive case
5 User modification scenario was tested
6 Get-TargetResource functionality was verified using Get-DscConfiguration
7 Resource was verified by calling Get/Set/Test-TargetResource functions directly
8 Resource was verified End to End using Start-DscConfiguration
9 Resource behaves correctly on all DSC supported platforms (or returns a specific error otherwise)
10 Resource functionality was verified on Windows Client (if applicable)
11 Get-DSCResource lists the resource
12 Resource module contains examples
13 Error messages are easy to understand and help users solve problems
14 Log messages are easy to understand and informative (including –verbose, –debug and ETW logs)
15 Resource implementation does not contain hardcoded paths
16 Resource implementation does not contain user information
17 Resource was tested with valid/invalid credentials
18 Resource is not using cmdlets requiring interactive input
19 Resource functionality was thoroughly tested
20 Best practice: Resource module contains Tests folder with ResourceDesignerTests.ps1 script
21 Best practice: Resource folder contains resource designer script for generating schema