Мокать [System.IO.Path]::IsPathRooted() с помощью Pester?

Как смоделировать [System.IO.Path]::IsPathRooted() с помощью Pester? Я пробовал следующее, но не повезло.

Describe "Configuration" {
    Mock [System.IO.Path]::IsPathRooted {
        return false
    }

    It "should mock rooted Path" {
        [System.IO.Path]::IsPathRooted("C:\a") | Should Be False
    }

person Adam Labi    schedule 27.03.2017    source источник


Ответы (1)


К сожалению, ответ на ваш вопрос краток и прост:

Вы не можете.


Согласно выпуску Pester's Github #72, лучшая альтернатива – заключить вызов метода в отдельная функция и Mock эта функция.

Есть несколько дискуссий по этому поводу, и многие люди хотели бы иметь возможность издеваться над методами .Net, но до сих пор я не смог найти никакого решения по этому поводу. К сожалению, даже методы перезаписи (независимо от Pester) не так просты.

person Clijsters    schedule 27.03.2017