PowerShell:
テストの作成
方法:
PowerShellには組み込みのテストフレームワークがありませんが、Pester(人気のあるサードパーティモジュール)がテストの作成と実行に広く使用されています。PowerShell関数のテストにPesterを使い始める方法は次の通りです。
まず、まだPesterをインストールしていない場合は、インストールします:
Install-Module -Name Pester -Scope CurrentUser -Force
次に、テストしたい単純なPowerShell関数がMyFunction.ps1
として保存されているとします:
function Get-MultipliedNumber {
param (
[int]$Number,
[int]$Multiplier = 2
)
return $Number * $Multiplier
}
この関数をPesterでテストするには、MyFunction.Tests.ps1
という名前のテストスクリプトを作成します。このスクリプトでは、PesterのDescribe
とIt
ブロックを使ってテストケースを定義します:
# テストする関数をインポートする
. .\MyFunction.ps1
Describe "Get-MultipliedNumber tests" {
It "倍率を提供しない場合、数値に2を乗算する" {
$result = Get-MultipliedNumber -Number 3
$result | Should -Be 6
}
It "指定された倍率で数値を正しく乗算する" {
$result = Get-MultipliedNumber -Number 3 -Multiplier 3
$result | Should -Be 9
}
}
テストを実行するには、PowerShellを開き、テストスクリプトが含まれるディレクトリに移動し、Invoke-Pester
コマンドを使用します:
Invoke-Pester .\MyFunction.Tests.ps1
出力サンプルは次のようになり、テストが合格したか失敗したかを示します:
Starting discovery in 1 files.
Discovery finished in 152ms.
[+] C:\path\to\MyFunction.Tests.ps1 204ms (182ms|16ms)
Tests completed in 204ms
Tests Passed: 2, Failed: 0, Skipped: 0 NotRun: 0
この出力は、テストされたシナリオの下でGet-MultipliedNumber
関数が期待通りに動作するという自信を与えてくれる、2つのテストが合格したことを示しています。