2017-03-27 1 views
1

Pesterを使用して[System.IO.Path]::IsPathRooted()をどうやって欺くのですか?私は次のことを試みたが運がなかった。Pocketを使用してMock [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 
    } 

答えて

3

残念ながら、あなたの質問への答えは短くてシンプルです:

あなたがすることはできません。


Pester's Github Issue #72によると、最善の選択肢は、別の関数とMockこの機能では、メソッド呼び出しをラップすることです。

これについていくつかの議論があり、多くの人々が.Netメソッドを模倣できることが大好きですが、これまでは解決策を見つけることができませんでした。残念ながら、(Pesterとは独立した)上書きの方法さえ容易ではありません。

関連する問題