テストカバレッジ
XDebug 3.0以降 または PCOVが必要です。
テストカバレッジ(またはコードカバレッジ)とは、テスト実行中に実行されたコードの割合を測定する指標です。これにより、開発者はテストされていないコード部分やカバレッジの低いコード部分(バグやその他の問題のリスクが高い可能性を示唆する)を特定できます。
通常、コードカバレッジ収集に必要な設定は、フレームワークによって提供される`phpunit.xml`ファイルに既に存在するか、`./vendor/bin/pest --init`コマンドを実行することで生成されます。`phpunit.xml`ファイルにコードカバレッジ設定が存在しない場合は、コードカバレッジレポートの対象となるプロジェクト内のパスを指定する独自の構成を追加できます。
1...2<source>3 <include>4 <directory suffix=".php">./app</directory>5 </include>6</source>7...
`phpunit.xml`ファイルの設定に加えて、コードカバレッジレポートを生成するには、XDebug 3.0以降またはPCOVをインストールする必要があります。XDebugを使用する場合は、`XDEBUG_MODE`環境変数を`coverage`に設定する必要があります。
コードカバレッジ設定を構成し、カバレッジドライバーをインストールしたら、`--coverage`オプションを使用して簡単にコードカバレッジレポートを生成できます。
1./vendor/bin/pest --coverage
`--coverage`オプションを使用すると、テストスイートは通常通り実行されますが、プロジェクトファイルとその対応するカバレッジ結果のリストが表示されるという追加機能が備わります。

現在のテストスイートに未カバレッジの行がある場合、それらは赤で強調表示され、対応する行番号を使用して表示されます。複数の未カバレッジの行は、2つのドット(`..`)で区切られて表示されます。たとえば、52行目と60行目の間にカバレッジがない場合、赤で`52..60`と表示されます。
最低閾値の適用
包括的なテストを保証し、コードの品質を維持するには、カバレッジ結果に最低閾値を設定することが不可欠です。Pestでは、`--coverage`と`--min`オプションを使用して、カバレッジ結果の最低閾値を定義できます。指定された閾値を満たしていない場合、Pestは失敗を報告します。
1./vendor/bin/pest --coverage --min=90

コードの無視
テストできないアプリケーションの特定のセクションがあり、コードカバレッジ分析から除外する必要がある場合は、ソースコードに`@codeCoverageIgnoreStart`と`@codeCoverageIgnoreEnd`コメントを使用してこれを実現できます。
1// @codeCoverageIgnoreStart2function getUsers() {3 //4}5// @codeCoverageIgnoreEnd
異なる形式
Pestは、さまざまなコードカバレッジレポート形式をサポートしています。
- `--coverage-clover <file>`: コードカバレッジレポートをClover XML形式で指定されたファイルに保存します。
- `--coverage-cobertura <file>`: コードカバレッジレポートをCobertura XML形式で指定されたファイルに保存します。
- `--coverage-crap4j <file>`: コードカバレッジレポートをCrap4J XML形式で指定されたファイルに保存します。
- `--coverage-html <dir>`: コードカバレッジレポートをHTML形式で指定されたディレクトリに保存します。
- `--coverage-php <file>`: コードカバレッジデータをシリアライズし、指定されたファイルに保存します。
- `--coverage-text <file>`: コードカバレッジレポートをテキスト形式で指定されたファイルに保存します。(デフォルト:php://stdout)
- `--coverage-xml <dir>`: コードカバレッジレポートをXML形式で指定されたディレクトリに保存します。
この章では、テストカバレッジとそのアプリケーションのテストされた割合を判断する能力について説明しました。次の章では、Pestの型カバレッジプラグインについて詳しく説明します。 型カバレッジ