しばたテックブログ

PowerShellを中心に気分で書いている技術ブログです。

Pester 4がリリースされました

というか結構前にしていました。

9月の中旬にPester 4.0.7がリリースされ、このバージョンからRCが取れ正式にStable Releaseとなっています。

Pester 3からの変更点

公式なリリースノートはこちら。

github.com

Release 4.0.7 · pester/Pester

また、Peseter 3からの移行ガイドも出ています。

機能追加・変更点

主な変更点は以前に書いた

blog.shibata.tech

blog.shibata.tech

で説明した内容からほとんど変わっておらず、

  • Shouldで使う動詞の文法の変更
  • 配列を入力する際の仕様変更
  • 表示色の刷新
  • ContextとDescribeのネスト
  • Gherkinのサポート
  • Add-AssertionOperatorによるカスタムアサーションの追加

といった内容となっています。
この他に、

  • Invoke-Pester実行時に現在実行中のスクリプトファイル名を出す様に
  • コードカバレッジをJaCoco形式のXMLで出力できる様に
  • パッケージのサイズを削減

といった変更も加えられたそうです。

破壊的変更・廃止された機能など

Pester 4で発生した破壊的変更や廃止された機能について本エントリではリリースノートの内容を軽く紹介する程度にとどめておきます。

破壊的変更

  • Contain*の動詞はFileContentMatch*という名称に変更されました。
    これは通常の-contain演算子の挙動と誤解されない様にするための措置になります。
  • Assert-VerifiableMocksAssert-VerifiableMockに改名されました。
  • Get-MockDynamicParametersGet-MockDynamicParameterに改名されました。
  • モックの実装を大幅に見直したためこれまでの挙動と微妙に異なる部分が発生します。
    詳細は移行ガイドを参照してください。

非推奨となった機能

  • New-TestDriveItemは非推奨となりました。*1
  • Invoke-Pester-Quietパラメーターは非推奨になり、代わりに-Show Noneを使うことが推奨されます。

廃止された機能

  • Invoke-Pester-OutputXmlパラメーターは無くなり、-OutputFileOutputFormatの組み合わせに変更されます。

*1:以前も触れましたがこの関数はもともと無い様に見受けられます...