Use $here to avoid 'cd $(PESTER)'

Per the Pester examples: https://github.com/pester/Pester/blob/master/Examples/Calculator/Add-Numbers.Tests.ps1
This commit is contained in:
Andrew Schwartzmeyer 2015-10-30 17:10:19 -07:00
parent 9b003f059c
commit 0b6adb68ee
6 changed files with 28 additions and 28 deletions

View file

@ -57,7 +57,7 @@ test-hashbang:
## - we cd because some tests rely on the current working directory ## - we cd because some tests rely on the current working directory
PESTER=$(MONAD)/src/pester-tests PESTER=$(MONAD)/src/pester-tests
test-pester: test-pester:
$(POWERSHELL_SIMPLE) 'cd $(PESTER); $$env:TEMP="/tmp"; invoke-pester -OutputFile $(MONAD)/pester-tests.xml -OutputFormat NUnitXml' $(POWERSHELL_SIMPLE) '$$env:TEMP="/tmp"; invoke-pester $(PESTER) -OutputFile $(MONAD)/pester-tests.xml -OutputFormat NUnitXml'
## Pester self-tests ## Pester self-tests
## - results in pester-self-tests.xml ## - results in pester-self-tests.xml

View file

@ -1,25 +1,22 @@
Describe "Get-Item" { $here = Split-Path -Parent $MyInvocation.MyCommand.Path
Describe "Get-Item" {
It "Should list all the items in the current working directory when asterisk is used" { It "Should list all the items in the current working directory when asterisk is used" {
(Get-Item *).GetType().BaseType | Should Be 'array' (Get-Item $here/*).GetType().BaseType | Should Be 'array'
(Get-Item *).GetType().Name | Should Be 'Object[]' (Get-Item $here/*).GetType().Name | Should Be 'Object[]'
} }
It "Should return the name of the current working directory when a dot is used" { It "Should return the name of the current working directory when a dot is used" {
(Get-Item .).GetType().BaseType | Should Be 'System.IO.FileSystemInfo' (Get-Item $here).GetType().BaseType | Should Be 'System.IO.FileSystemInfo'
(Get-Item .).Name | Should Be 'pester-tests' (Get-Item $here).Name | Should Be 'pester-tests'
} }
It "Should return the proper Name and BaseType for directory objects vs file system objects" { It "Should return the proper Name and BaseType for directory objects vs file system objects" {
(Get-Item .).GetType().Name | Should Be 'DirectoryInfo' (Get-Item $here).GetType().Name | Should Be 'DirectoryInfo'
(Get-Item ./Get-Item.Tests.ps1).GetType().Name | Should Be 'FileInfo' (Get-Item $here/Get-Item.Tests.ps1).GetType().Name | Should Be 'FileInfo'
}
It "Should return a different directory when a path argument is used" {
(Get-Item /usr/bin) | Should Not BeNullOrEmpty
(Get-Item ..) | Should Not BeNullOrEmpty
} }
It "Should have mode flags set" { It "Should have mode flags set" {
ls / | foreach-object { $_.Mode | Should Not BeNullOrEmpty } ls $here | foreach-object { $_.Mode | Should Not BeNullOrEmpty }
} }
} }

View file

@ -1,6 +1,8 @@
Describe "Get-ItemProperty" { $here = Split-Path -Parent $MyInvocation.MyCommand.Path
$currentDirectory = Split-Path . -Leaf
$parentDirectory = Split-Path .. -Leaf Describe "Get-ItemProperty" {
$currentDirectory = Split-Path $here -Leaf
$parentDirectory = Split-Path $here/.. -Leaf
if (Test-Path /tmp) if (Test-Path /tmp)
{ {
$tempDirectory = "/tmp/testfolder" $tempDirectory = "/tmp/testfolder"
@ -18,15 +20,11 @@
New-Item $testfile -ItemType file -Force New-Item $testfile -ItemType file -Force
It "Should be able to be called on in the current directory" { It "Should be able to be called on in the current directory" {
{ Get-ItemProperty . } | Should Not Throw $(Get-ItemProperty $here).Name | Should Be $currentDirectory
$(Get-ItemProperty .).Name | Should Be $currentDirectory
} }
It "Should be able to be called on a parent directory" { It "Should be able to be called on a parent directory" {
{ Get-ItemProperty .. } | Should Not Throw (Get-ItemProperty $here/..).Name | Should Be $parentDirectory
(Get-ItemProperty ..).Name | Should Be $parentDirectory
} }
It "Should be able to be called on a directory using the path switch" { It "Should be able to be called on a directory using the path switch" {

View file

@ -1,5 +1,7 @@
Describe "Import-Csv" { $here = Split-Path -Parent $MyInvocation.MyCommand.Path
$testCsv = "./assets/TestCsv.csv"
Describe "Import-Csv" {
$testCsv = "$here/assets/TestCsv.csv"
It "Should be able to call without error" { It "Should be able to call without error" {
{ Import-Csv $testCsv } | Should Not Throw { Import-Csv $testCsv } | Should Not Throw

View file

@ -1,4 +1,5 @@
. ./Test-Mocks.ps1 $here = Split-Path -Parent $MyInvocation.MyCommand.Path
. "$here/Test-Mocks.ps1"
Describe "Select-Object" { Describe "Select-Object" {
BeforeEach { BeforeEach {

View file

@ -1,5 +1,7 @@
Describe "Set-PSBreakpoint" { $here = Split-Path -Parent $MyInvocation.MyCommand.Path
New-Variable -Name script -Value ./assets/testablescript.ps1 -Scope Global
Describe "Set-PSBreakpoint" {
New-Variable -Name script -Value $here/assets/testablescript.ps1 -Scope Global
It "Should be able to called with script and line parameters without error " { It "Should be able to called with script and line parameters without error " {
{ Set-PSBreakpoint -Script $script -Line 1 } | Should Not Throw { Set-PSBreakpoint -Script $script -Line 1 } | Should Not Throw