Макет [System.IO.Path]::IsPathRooted() с использованием Pester?

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

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

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

1 ответ

Решение

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

Ты не можешь


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

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

Другие вопросы по тегам