Skip to main content
Version: v6 (preview) 🚧

Should-HaveParameter

This page was generated

Contributions are welcome in Pester-repo.

SYNOPSIS​

Asserts that a command has the expected parameter.

SYNTAX​

Should-HaveParameter [[-ParameterName] <String>] [[-Type] <Object>] [[-DefaultValue] <String>] [-Mandatory]
[[-InParameterSet] <String>] [-HasArgumentCompleter] [[-Alias] <String[]>] [[-Actual] <Object>]
[[-Because] <String>] [<CommonParameters>]

DESCRIPTION​

This assertion inspects command metadata and can also verify parameter details such as type, default value, aliases, parameter set membership, mandatory status, and argument completers.

EXAMPLES​

EXAMPLE 1​

Get-Command "Invoke-WebRequest" | Should -HaveParameter Uri -Mandatory

This test passes, because it expected the parameter URI to exist and to be mandatory.

PARAMETERS​

-ParameterName​

The name of the parameter to check. E.g. Uri

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Type​

The type of the parameter to check. E.g. [string]

Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-DefaultValue​

The default value of the parameter to check. E.g. "https://example.com"

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Mandatory​

Whether the parameter is mandatory or not.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-InParameterSet​

The parameter set that the parameter belongs to.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-HasArgumentCompleter​

Whether the parameter has an argument completer or not.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Alias​

The alias of the parameter to check.

Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: 5
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Actual​

The actual command to check. E.g. Get-Command "Invoke-WebRequest"

Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: 6
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Because​

The reason why the input should be the expected value.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 7
Default value: None
Accept pipeline input: False
Accept 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​

The attribute [ArgumentCompleter] was added with PSv5. Previously this assertion will not be able to use the -HasArgumentCompleter parameter if the attribute does not exist.

https://pester.dev/docs/commands/Should-HaveParameter

https://pester.dev/docs/assertions

VERSION​

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