2

Pester を使用して新しい Chocolatey 関数をテストするために、複数のテスト ケースが作成されています。すべてのブランチがカバーされているかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

3

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...
于 2015-06-16T13:26:08.823 に答える
2

更新 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 番目のファイルが存在しない場合は、その関数の単体テストはありません。

于 2014-07-10T06:14:16.870 に答える