Hero Image
Pesterについて

Pesterについて Pesterとは何か 基本の使い方 テスト対象を取得してくる テスト項目記述部分 テストの実施 実際に使ってみた Pesterについて Pesterとは何か PowerShell向けのテストフレームワーク 参考:https://pester.dev/ これのおかげでpowershellのテストコードを書いて単体テストをきっちりできるよ。 今はv5が最新だと思われる。 Install-Module Pester -Force でインストールできる。 テストしたいXXX.ps1というスクリプトに対して XXX.Tests.ps1というテストスクリプトを用意してあげる。 手で用意してあげてもいいけど New-Fixture -Name XXXでカレントディレクトリにテンプレ付きの上記セットができあがる。 基本の使い方 大まかにはテスト対象を取得してくる部分とその下に続くテスト項目の部分とに分けられる。 テスト対象を取得してくる v5では以下のように実行するテストスクリプトのパスを書き換えて読み込んでくる。 テンプレではテストスクリプトと同じカレントディレクトリにテスト対象になるスクリプトがある想定らしいが、テストファイルファイル同士別ディレクトリにまとめてたりで都合が悪い場合は適宜リプレースする部分を変えてやるといいみたい。 BeforeAll { . $PSCommandPath.Replace('XXX.Tests.ps1', 'XXX.ps1') } テスト項目記述部分 こんな感じで階層化して整理して記述できる。 Contextは大きなまとまりってかんじかな。 Itはテスト一項目。って認識。 観点や単位ごとに分けると良いかなと感じた。 Describe > Context > It こんな感じで Describe "XXXFunctionTest"{ Context "正常系" { It "境界値 min"{ } It "境界値 max"{ } } Context "異常系" { It "境界値 min -1"{ } It "境界値 max + 1"{ } } Context "例外テスト" { It "数値以外"{ } It "null"{ } } } 又、それぞれBefore・After処理を行って前処理や後処理をIt実行ごととかテスト開始時とかに行える。