Testing with Pester
Pester is a framework for executing tests. It includes tools to define and execute test cases against anything that can be written in PowerShell.
This chapter focuses on Pester 5, the latest major release. Pester 5 is not installed by default; Windows ships with Pester 3.4. This pre-installed version can be ignored:
Install-Module Pester -Force -SkipPublisherCheck
The -SkipPublisherCheck
parameter is required as Pester has changed maintainer since the version shipped with Windows was released. The certificate issued to the pre-installed version differs from the certificate issued to the current version.
You can use Pester to write tests for code and systems and everything in between. Pester is implemented as what is known as a Domain-Specific Language. It has specific functions that are implemented to behave like language keywords. For example, function
is a language-specific keyword. Pester tests are written using PowerShell, but for the...