Pester を使用して新しい Chocolatey 関数をテストするために、複数のテスト ケースが作成されています。すべてのブランチがカバーされているかどうかを確認するにはどうすればよいですか?
2 に答える
Pester の現在のバージョン (3.0) は、コード カバレッジをサポートしています。
単に使用する
Invoke-Pester -CodeCoverage *.ps1
コード カバレッジ (カバレッジ %) の完全な信頼関係と、テスト中に実行されなかったすべてのコード行 (ブランチ) の概要を取得するには:
Tests completed in 10.11s
Passed: 66 Failed: 0 Skipped: 0 Pending: 0
Code coverage report:
Covered 99,20 % of 501 analyzed commands in 22 files.
Missed commands:
File Function Line Command
---- -------- ---- -------
Set-ProgressColor.ps1 Set-ProgressColor 19 Write-Verbose "Progress colors are only supported on the PowerShell com...
更新 2:
Pester がコード カバレッジをサポートするバージョンの Pester をリリースしたことを指摘してくれた oɔɯǝɹ に感謝します。
更新 1:
Pester バージョン 3.0 では、以下を使用してコード カバレッジ情報を取得できるようになりました。
Invoke-Pester -CodeCoverage <path to file>
これは、プロジェクトの wiki ページに記載されています。
https://github.com/pester/Pester/wiki/Code-Coverage
注:これを使用するには、PowerShell バージョン 3.0 が必要です。
元の答え:
私の知る限り、Pester は現在コード カバレッジ分析をサポートしていませんが、現在取り組んでいるものです。
この機能に関する未解決の問題がここにあります。
https://github.com/pester/Pester/issues/53
ここで作業が行われているのを見ることができます:
http://davewyatt.wordpress.com/2014/06/29/code-coverage-analysis-for-pester-feedback-request/
そして、ここで動作しているスクリーンショットがあります:
https://twitter.com/nohwnd/status/485093995929157632
したがって、基本的には、しっかりと保持してください。うまくいけば、すぐに何かがあるでしょう.
Chocolatey の実際のコード ベースに関しては、非常に適切な規則が使用されています。つまり、各 *.ps1 ファイルには、対応する ".Tests.ps1 ファイルが存在する" 必要があります。この 2 番目のファイルが存在しない場合は、その関数の単体テストはありません。