Ложная многословная запись не работает, когда с invoke-pester - PullRequest
1 голос
/ 15 марта 2019

Приведенный ниже скрипт работает, когда запускается с точкой, но не запускается при вызове с invoke-pester (работает версия Pester 4.6.0). Я делаю что-то не так или есть проблема с invoke-pester?

using module "./Test.psm1"
Describe "Unit Test" -Tag 'Unit' {
  Context 'test' {
    It 'return' {
        mock Write-Verbose { write-host $Message }
        $T = [Test]::new()
        $T.createoutput()
        assert-MockCalled Write-Verbose
    }
  }
}

Test.psm1:

class Test{
    [void]createoutput(){
        Write-Verbose 'hello'
    }
}

1 Ответ

1 голос
/ 15 марта 2019

Проблема в настройках вашего макета.При издевательстве над модулями требуется дополнительная работа .

В действии:

using module ./Test.psm1

Describe 'Unit Test' -Tag 'Unit' {
    Context 'test' {
        It 'mocks correctly' {
            Mock Write-Verbose {} -ModuleName Test

            $T = [Test]::new()
            $T.createoutput()

            Assert-MockCalled Write-Verbose -ModuleName Test
        }
    }
}

Также важно, прочитать это примечание об импорте классов .

...