第 6 回 PowerShell 勉強会 - Japan PowerShell User Group (JPPOSH) | Doorkeeper に参加して、LTでPesterについて少しだけ話をさせてもらって来ました。
LT資料はこちら。
せっかくなので、ちょっとLTの補足なんかをしておきたいと思います。
TestDrive
TestDriveにアクセスするときTestDrive:\
か$TestDrive
が使えますが、微妙に異なる点があります。
前者は通常のPSDriveですが、後者にはTestDriveが指す場所のフルパスが入っています。
そんなに困ることは無い気がしますが、一応覚えておいた方がいいかと思います。
コードカバレッジ
二点ほど。
まず一点目。Pester自体はPowerShell2.0以上で動作するんですが、コードカバレッジ機能だけはPowerShell3.0が必要です。そんな環境でPester使うことあるんかって話は置いといてください(ニッコリ。
もう一点は計測結果に出てくる 「commands」 についてです。資料の中では
Code coverage report: Covered 66.67 % of 3 analyzed commands in 1 file.
って出てるやつです。
Pesterのコードカバレッジの計測はPSBreakpoints
で実行されたcommand(文)を記録することで実現されています。実行されたPSBreakpointsがcommandsとして報告されます。
そのためPowerShellの仕様としてPSBreakpointsが置けないelse
やtry
、finally
なんかはcommandsにカウントされません。if
とかthrow
とかreturn
とかはカウントされます。
コードカバレッジの結果を見て数が合わないなって思ったときは、一度確認してみてください。
ほかの方々の資料
は、こちらから