Skip to main content
Version: v5

BeforeDiscovery

SYNOPSIS#

Runs setup code that is used during Discovery phase.

SYNTAX#

BeforeDiscovery [-ScriptBlock] <ScriptBlock> [<CommonParameters>]

DESCRIPTION#

Runs your code as is, in the place where this function is defined. This is a semantic block to allow you to be explicit about code that you need to run during Discovery, instead of just putting code directly inside of Describe / Context.

EXAMPLES#

EXAMPLE 1#

BeforeDiscovery {    $files = Get-ChildItem -Path $PSScriptRoot -Filter '*.ps1' -Recurse}
Describe "File - \<_\>" -ForEach $files {    Context "Whitespace" {        It "There is no extra whitespace following a line" {            # ...
        }
        It "File ends with an empty line" {            # ...
        }    }}

BeforeDiscovery is used to gather a list of script-files during Discovery-phase to dynamically create a Describe-block and tests for each file found.

PARAMETERS#

-ScriptBlock#

The ScritpBlock to run.

Type: ScriptBlockParameter Sets: (All)Aliases:
Required: TruePosition: 1Default value: NoneAccept pipeline input: FalseAccept wildcard characters: False

CommonParameters#

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS#

OUTPUTS#

NOTES#

RELATED LINKS#

https://pester.dev/docs/commands/BeforeDiscovery

https://pester.dev/docs/usage/data-driven-tests

EDIT THIS PAGE#

This page was auto-generated using the comment based help in Pester 5.2.1. To edit the content of this page, change the corresponding help in the pester/Pester repository. See our contribution guide for more information.