param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [Object[]]$Analysis, [Parameter(Mandatory)] [string]$ModuleName ) $scriptAnalyzerRules = Get-ScriptAnalyzerRule forEach ($rule in $scriptAnalyzerRules) { It "Module $ModuleName Should Pass $rule" { If ($Analysis.RuleName -contains $rule) { $Analysis | Where-Object RuleName -eq $rule -OutVariable failures | Out-Default $failures.Count | Should Be 0 } } }