タイプカバレッジ

ソースコード: github.com/pestphp/pest-plugin-type-coverage

タイプカバレッジは、タイプ宣言によってどの程度の割合のコードがカバーされているか測定するために使用される指標です。これは、開発者がバグやその他の問題につながるリスクの可能性がある、十分に型付けされていないコードの部分を特定するのに役立ちます。

ペストのタイプカバレッジプラグインの使用を開始するには、Composer を介してプラグインが必要になります。

1composer require pestphp/pest-plugin-type-coverage --dev

プラグインを必要とした後、--type-coverage オプションを使用して、タイプカバレッジのレポートを生成できます。

1./vendor/bin/pest --type-coverage

コードカバレッジとは異なり、タイプカバレッジではテストを書く必要はありません。代わりに、コードベースを分析し、タイプカバレッジのレポートを生成します。このレポートには、ファイルのリストとその対応するタイプカバレッジ結果が表示されます。

ファイルにタイプ宣言がない場合は、黄色でハイライトされ、それぞれの行番号と欠落している宣言のタイプを使用して表示されます。

たとえば、rt31 は 31 行目の関数の戻り値のタイプがないことを意味します。一方、pa31 は 31 行目の関数のパラメータのタイプがないことを意味します。

エラーの無視

特定のエラーやコード行を無視したい場合があります。それを行うには、@pest-ignore-type アノテーションを使用します。

1 protected $except = [ // @pest-ignore-type
2 // ...
3 ];
4}

最小閾値の施行

コードカバレッジと同様に、タイプカバレッジも適用できます。アプリケーションに追加されるすべてのコードが完全に型付けされていることを確認するには、--type-coverage オプションと --min オプションを使用して、タイプカバレッジ結果の最小閾値を定義できます。指定した閾値が満たされない場合、ペストは失敗を報告します。

1./vendor/bin/pest --type-coverage --min=100

さまざまな形式

さらに、ペストは特定のファイルへのタイプカバレッジの報告をサポートしています。

1./vendor/bin/pest --type-coverage --min=100 --type-coverage-json=my-report.json

この章では、ペストのタイプカバレッジプラグインと、タイプ宣言によってカバーされているコードの割合を測定するためにプラグインをどのように使用できるかを説明しました。次の章では、ミューテーションテストを使用してテストの品質を向上させる方法について説明します: ミューテーションテスト →