2016-08-15 12 views
0

私はc#dll関数を呼び出すPowershellモジュールのテストを書いています。 例:[名前空間] :: SomeMethod($ param1、$ param2) 私のPesterテストでこのメソッドをどうやって模擬することができますか?pesterでc#dll関数を模擬しますか?

答えて

1

pesterのドキュメントを参照すると、mockingはpowershellコマンドレット、コマンドまたは関数でのみ動作します。 description section

それは言う:

モックANY PowerShellコマンドの振る舞い。

しかし、あなたは、このようなラッパーでそれを模擬できます

Function Invoke-FooBar() { 
    [CmdletBinding()] 
    Param(
     [Parameter(Mnadatory=$True)] 
     [ValidateNotNullOrEmpty()] 
     [String]$param1, 

     [Parameter(Mnadatory=$True)] 
     [ValidateNotNullOrEmpty()] 
     [String]$param2 
    ) 
    [Namespace]::SomeMethod($param1, $param2) 
} 

そして、このような何かをあざけるせがむを使用します。

Describe "Unit1" { 
    Context "Basic logic tests" { 
     Mock Invoke-Foobar {return $True} 
     It "Test1: Invoke-FooBar" { 
      Invoke-FooBar | Should Be $True 
     } 
    } 
} 
関連する問題