1

ac# dll 関数を呼び出す Powershell モジュールのテストを書いています。例: [Namespace]:: SomeMethod($param1, $param2) Pester テストでこのメソッドをモックする方法についてのアイデアはありますか?

4

1 に答える 1

2

Pester のドキュメントを参照すると、モッキングは、powershell コマンドレット、コマンド、または関数でのみ機能します。

説明セクションでは、次のように述べています。

任意の powershell コマンドの動作をモックします。

ただし、次のようなラッパーでモックできます。

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

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

次に、Pester のモックを次のように使用します。

Describe "Unit1" {
    Context "Basic logic tests" {
        Mock Invoke-Foobar {return $True}
        It "Test1: Invoke-FooBar" {
            Invoke-FooBar | Should Be $True
        }
    }
}
于 2016-10-24T10:08:42.380 に答える