en-US/about_Pester.help.txt
TOPIC
about_Pester SHORT DESCRIPTION Pester is a test framework for PowerShell. Use the Pester language and its commands to write and run tests that verifies that your scripts, modules, infrastructure and more works as intended. LONG DESCRIPTION Pester provides a framework for writing and running tests. Pester is most commonly used for writing unit and integration tests, but it is not limited to just that. It is also a base for tools that validate whole environments, computer deployments, database configurations and so on. Pester follows a configurable file naming convention *.Tests.ps1, and uses a simple set of functions including: -- Describe: Creates a required test container. -- Context: Creates an optional scoped test sub-container. -- It: Creates a test. -- Should*: Operators that help you compare actual vs expected values inside a test. -- Mock: Replace behaviours of any commands to make them return consistent values. Tests can execute any command or script that is accessible to a Pester test file. This includes functions, cmdlets, modules and scripts. Pester can be run locally, but also as part of your build/deployment scripts in a CI or CD pipeline for validation. Other notable features included in Pester: -- Test results exported to popular file formats for easier reporting -- Code coverage to measure and report on how much of your code is actually tested -- TestDrive and TestRegistry (Windows only) PSDrives to temporarily store files and values during your tests with automatic cleanup. WHAT CAN PESTER TEST? Pester is designed to support "test-driven development" (TDD), in which you write and run tests before writing your code, thereby using the test as a code specification. It also supports "behavior-driven development" (BDD), in which the tests verify the behavior and output of the code, and the user experience, independent of its implementation. This lets you change the implementation and use the test to verify that the behavior is unchanged. You can use Pester to write "unit tests" that test individual functions in isolation and "integration tests" that verify that functions can be used together to generate expected results. Pester also has "mocking" commands that replace the actual output of commands with output that you specify, making unit testing easier by controlling and getting consistent output. HOW DO I GET STARTED? You've already done the hard part by discovering and installing this module. Visit https://pester.dev/docs/quick-start to get an introduction to using Pester with examples and documentation for all mentioned features and more. SEE ALSO Pester website: https://pester.dev Invoke-Pester about_PesterConfiguration |