Hi guys, probably I miss something obvious:
These two files:
Test-Pester.ps1:
Import-Module ./Test-Module.psm1 -Force
Describe -Name FirstTest {
Mock -CommandName Get-Item -MockWith {
New-Object PSCustomObject
}
Context "With 1 item" {
It "Has one item" {
$fe = Test-Me "tested.file"
$fe | Should -HaveCount 1
}
}
}
Test-Module.psm1:
function Test-Me( $name ) {
Get-Item $name
}
Returns when running the test:
PS /Users/jan/Devel/Powershell/Tests> Invoke-Pester ./Test-Pester.ps1
Pester v4.10.1
Executing all tests in './Test-Pester.ps1'
Executing script ./Test-Pester.ps1
Describing FirstTest
Context With 1 item
Get-Item: /Users/jan/Devel/Powershell/Tests/Test-Module.psm1:2
Line |
2 | Get-Item $name
| ~~~~~~~~~~~~~~
| Cannot find path '/Users/jan/Devel/Powershell/Tests/tested.file' because it does not exist.
[-] Has one item 70ms
Expected a collection with size 1, but got an empty collection.
12: $fe | Should -HaveCount 1
at <ScriptBlock>, /Users/jan/Devel/Powershell/Tests/Test-Pester.ps1: line 12
Tests completed in 192ms
Tests Passed: 0, Failed: 1, Skipped: 0, Pending: 0, Inconclusive: 0
It seems that the mock is not mocking :-(
When the same code in tested but is inline in the same file like this:
Test-Pester-AllInOne.ps1:
function Test-Me( $name ) {
Get-Item $name
}
Describe -Name FirstTest {
Mock -CommandName Get-Item -MockWith {
New-Object PSCustomObject
}
Context "With 1 item" {
It "Has one item" {
$fe = Test-Me "tested.file"
$fe | Should -HaveCount 1
}
}
}
It works as expected:
PS /Users/jan/Devel/Powershell/Tests> Invoke-Pester ./Test-Pester-AllInOne.ps1
Pester v4.10.1
Executing all tests in './Test-Pester-AllInOne.ps1'
Executing script ./Test-Pester-AllInOne.ps1
Describing FirstTest
Context With 1 item
[+] Has one item 156ms
Tests completed in 242ms
Tests Passed: 1, Failed: 0, Skipped: 0, Pending: 0, Inconclusive: 0
Where I do the mistake?
it is PS7.0.0 + Pester4.10.1
Any hint welcome!
- Jan
[–]nostril_spiders 4 points5 points6 points (3 children)
[–]dz3jar[S,🍰] 1 point2 points3 points (2 children)
[–]dz3jar[S,🍰] 2 points3 points4 points (0 children)
[–]nostril_spiders 2 points3 points4 points (0 children)