DscResource.Tests/Tests/Unit/TestRunner.Tests.ps1
$script:ModuleName = 'TestRunner' $script:moduleRootPath = Split-Path -Path (Split-Path -Path $PSScriptRoot -Parent) -Parent Describe "$($script:ModuleName) Unit Tests" { BeforeAll { Import-Module -Name (Join-Path -Path $script:moduleRootPath -ChildPath "$($script:ModuleName).psm1") -Force } InModuleScope $script:ModuleName { Describe 'Start-DscResourceTests' { BeforeAll { # Set up TestDrive $mockResourcePath = Join-Path -Path 'TestDrive:' -ChildPath 'DscResources' New-Item -Path $mockResourcePath -ItemType Directory $mockResource1Path = Join-Path -Path $mockResourcePath -ChildPath 'Resource1' New-Item -Path $mockResource1Path -ItemType Directory $mockResource2Path = Join-Path -Path $mockResourcePath -ChildPath 'Resource2' New-Item -Path $mockResource2Path -ItemType Directory Push-Location Set-Location -Path $mockResourcePath } BeforeEach { Mock -CommandName Push-Location -Verifiable Mock -CommandName Pop-Location -Verifiable Mock -CommandName Invoke-Pester -Verifiable } Context 'When starting tests' { It 'Should call Invoke-Pester exactly 2 times' { { Start-DscResourceTests -ResourcesPath $mockResourcePath } | Should -Not -Throw Assert-MockCalled -CommandName Invoke-Pester -Exactly -Times 2 } } AfterAll { Pop-Location } Assert-VerifiableMock } } } |