Describe "Invoke-Expression" { Context "Should execute the invoked command validly" { It "Should return the echoed text" { (Invoke-Expression -command "echo pestertest1") | Should be "pestertest1" } It "Should return the echoed text for the alias" { (iex -command "echo pestertest2") | Should Be "pestertest2" } It "Should return the echoed text from a script" { $testfile = Join-Path -Path (Join-Path $PSScriptRoot -ChildPath assets) -ChildPath echoscript.ps1 $testcommand = "echo pestertestscript" $testcommand | Add-Content -Path $testfile (Invoke-Expression $testfile) | Should Be "pestertestscript" Remove-Item $testfile } It "Should return the echoed text from a script from the alias" { $testfile = Join-Path -Path (Join-Path $PSScriptRoot -ChildPath assets) -ChildPath echoscript.ps1 $testcommand = "echo pestertestscript" $testcommand | Add-Content -Path $testfile (iex $testfile) | Should Be "pestertestscript" Remove-Item $testfile } } } Describe "Invoke-Expression DRT Unit Tests" -Tags DRT{ It "Invoke-Expression should work"{ $result=invoke-expression -Command 2+2 $result|Should Be 4 } }