I'm trying to create a wrapper (proxy) for Pester's Should
cmdlet. Possible use cases include transparent logging of test input even in case of success and improve the way Pester logs objects of certain types, e. g. hashtable
.
As Should
is an advanced function, forwarding arguments via $args
splatting does not work.
So I tried to generate a wrapper using System.Management.Automation.ProxyCommand::Create()
, as described by this answer:
$cmd = Get-Command Should
$wrapperSource = [System.Management.Automation.ProxyCommand]::Create( $cmd )
$wrapperSource >should_wrapper.ps1
When calling the wrapper, Powershell outputs this error message:
Should: Parameter set cannot be resolved using the specified named parameters. One or more parameters issued cannot be used together or an insufficient number of parameters were provided.
It looks like the wrapper generator doesn't understand the dynamicparam declaration of Should
.
How to write a generic wrapper for Pester's Should
without duplicating Pester code?
param ( ... )
. After fixing that, when calling the wrapper like0 | .\shouldWrapper.ps1 -Be 1
I get this error message: "Should: Parameter set cannot be resolved using the specified named parameters. One or more parameters issued cannot be used together or an insufficient number of parameters were provided." – Xmas