Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
PowerShell Function to handle Moq Setup and Verifies for you!
Creates your Moq.Setups for you!
Provide a method signature to receive an example of a basic, lazy Mock for the method
$myMethodSignature = "
string someToken,
int someIntValue = 10,
bool someBoolValue = false,
TimeSpan delayLookup = default,
CancellationToken cancellationToken
New-MoqMethodConfiguration $myMethodSignature
Another example of how to use this cmdlet
Function New-MoqMethodConfiguration{
$Verify = $false
$outputs = New-Object System.Collections.ArrayList
$methodName = $methodSignature.Split('(')[0]
Write-Verbose "found method of name $methodName"
$parms= $methodSignature.Split('(')[1..10].Split("`n").Trim().Replace(')','')
Write-Verbose "found $($parms.Count) parameters"
ForEach($parm in $parms){
if($parm.Length -le 0){continue}
Write-Verbose "processing $parm "
$outputs.Add("It.IsAny<$($parm.Split()[0])>()") | Out-Null
$paramMatcher = $outputs -join ","
if ($Verify){
Write-output ".Verify(m=>m.$($methodName)($paramMatcher), Times.Once)"
Write-output ".Setup(m=>m.$($methodName)($paramMatcher)).Returns..."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment