Private/Get-TestName.ps1
function Get-TestName { param( $ast ) for($i = 1; $i -lt $ast.Parent.CommandElements.Count; $i++) { if ($ast.Parent.CommandElements[$i] -is 'System.Management.Automation.Language.CommandParameterAst') { $i++; continue } if ($ast.Parent.CommandElements[$i] -is 'System.Management.Automation.Language.ScriptBlockExpressionAst') { continue } if ($ast.Parent.CommandElements[$i] -is 'System.Management.Automation.Language.StringConstantExpressionAst') { return $ast.Parent.CommandElements[$i].Value } } throw 'Could not determine test name' } |