Tests/Common/Basic.Tests.ps1
$moduleName = $Env:BHProjectName $moduleroot = $Env:BHModulePath Describe "General project validation: $moduleName" { Context "Are these valid PowerShell Scripts?"{ $scripts = Get-ChildItem $moduleRoot -Include *.ps1, *.psm1, *.psd1 -Recurse # TestCases are splatted to the script so we need hashtables $testCase = $scripts | Foreach-Object {@{file = $_}} It "Script <file> should be valid powershell" -TestCases $testCase { param($file) $file.fullname | Should Exist $contents = Get-Content -Path $file.fullname -ErrorAction Stop $errors = $null $null = [System.Management.Automation.PSParser]::Tokenize($contents, [ref]$errors) $errors.Count | Should Be 0 } } } |