Skip to main content
Version: v4

InModuleScope

This page was generated

Contributions are welcome in Pester v4-repo.

SYNOPSIS

Allows you to execute parts of a test script within the scope of a PowerShell script module.

SYNTAX

InModuleScope [-ModuleName] <string> [-ScriptBlock] <scriptblock>

DESCRIPTION

By injecting some test code into the scope of a PowerShell script module, you can use non-exported functions, aliases and variables inside that module, to perform unit tests on its internal implementation.

InModuleScope may be used anywhere inside a Pester script, either inside or outside a Describe block.

EXAMPLES

EXAMPLE 1

# The script module:
function PublicFunction
{
# Does something
}

function PrivateFunction
{
return $true
}

Export-ModuleMember -Function PublicFunction

# The test script:

Import-Module MyModule

InModuleScope MyModule {
Describe 'Testing MyModule' {
It 'Tests the Private function' {
PrivateFunction | Should -Be $true
}
}
}

Normally you would not be able to access "PrivateFunction" from the PowerShell session, because the module only exported "PublicFunction". Using InModuleScope allowed this call to "PrivateFunction" to work successfully.

PARAMETERS

-ModuleName

The name of the module into which the test code should be injected. This module must already be loaded into the current PowerShell session.

Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 0
IsRequired: true
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

-ScriptBlock

The code to be executed within the script module.

Type: System.Management.Automation.ScriptBlock
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: 1
IsRequired: true
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''

CommonParameters

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

INPUTS

OUTPUTS

NOTES

VERSION

This page was generated using comment-based help in Pester 4.10.1.