Tests/Set-ModuleVariable.Tests.ps1
$myModule = Import-Module (Get-ChildItem "$PSScriptRoot\..\*.psm1" | Select-Object -ExpandProperty FullName -first 1) -force -PassThru Describe 'Set-ModuleVariable' { Context 'Running without arguments' { It 'requires name and value parameters' { { Set-ModuleVariable } | Should Throw } } Context 'Setting module variables' { # test 1: it does not throw an exception: It 'runs without errors' { { Set-ModuleVariable -name TestModuleName1 -Value TestModuleValue1} | Should Not Throw } It 'does not expose the variable outside the module' { Set-ModuleVariable -name TestModuleName1 -Value TestModuleValue1 | Should BeNullOrEmpty Get-Variable -Name TestModuleName1 -ErrorAction SilentlyContinue | Should BeNullOrEmpty Get-ModuleVariable -Name TestModuleName1 | Should Be TestModuleValue1 } It 'can passthru the variable value that was set' { Set-ModuleVariable -name TestModuleName1 -Value TestModuleValue1 -PassThru | Should Be TestModuleValue1 } } } |