📖

LaravelでHTML形式のカバレッジを取得する

2024/11/21に公開

LaravelでHTML形式のカバレッジを取得する方法です。
Laravelのプロジェクトがあって、phpunitでユニットテストを書いている前提です。

環境

Laravel 9
Xdebug v3.3.2

準備

Xdebugをインストールします。

sudo pecl install xdebug

次にphp.iniを変更します。

# /etc/php.ini
zend_extension=xdebug.so
xdebug.mode=coverage

取得、確認

Laravelプロジェクト直下で以下を実行します。
メモリ使用量はプロジェクトの大きさに応じて変えます。
また、この場合はtests/Unitのユニットテストを対象にしています。

php -d memory_limit=1G vendor/bin/phpunit --coverage-html=coverage tests/Unit

実行すると、coverageディレクトリが現れます。
ダウンロードして index.html を開くと、カバレッジを見られます。


ControllersやModelsをクリックすると、各種ファイル毎の網羅率を見られます。

Laravel9はサポート終わっていて古いですが、10や11も同様に動くと思います。

Discussion