
In the above script we are first getting all the files that needs to be tested and running the perster module to test the scripts using the testcases written in separate scripts. $results.CodeCoverage | ConvertTo-Html | Out-File -FilePath "$PSScriptRoot\artifacts\CoverageReport.html" It is also a base for tools that validate whole environments, computer deployments, database configurations and so on.įunction Get-Planet ($Name = '*') ) Pester is most commonly used for writing unit and integration tests, but it is not limited to just that. Pester provides a framework for writing and running tests. Pester is a testing and mocking framework for PowerShell. This report can be published in a static server to be visualized. For the failed test cases exact test cases and lines are available in the HTML report. With this HTML generated using ReportUnit.exe you can check the test cases which have passed and check if some test cases have failed. The end result will generate a HTML file which can be visualized as below In this article, I am going to explain one of the ways to write test cases for scripts and completely automate the generation of coverage reports.įor this I am using Perter and PSScriptAnalyzer which are available as module in powershell. To have maintainable scripts one needs to write test cases to cover all the scenarios and cover the entire scripts. For example:Īs a result of these features, powershell is used extensively to automate, but these scripts are not tested as once automation is completed these scripts are never modified till something failes. The extensible nature of PowerShell has enabled an ecosystem of PowerShell modules to deploy and manage almost any technology you work with. Set-ExecutionPolicy Unrestricted Automation platform Note: - To develop and run powershell scripts in your machine, you need to change the execution policy to unrestricted. You can open powershell editor using “powershell ise” in run.

Writing powershell scripts has been the easiest way for devops to automate things if they are from an azure.

If you are familiar with powershell, perster and PSSCriptAnalyzer skip to the section- “Generating the Report”.
Pester test code#
Before we start, the complete code used for this article is available here.
