LoginSignup
3
4

More than 3 years have passed since last update.

phpunitで「No whitelist is configured, no code coverage will be generated.」のエラー

Posted at

phpunitでカバレッジレポートを出力しようとしたが、以下の様なエラーが発生した。

No whitelist is configured, no code coverage will be generated.

phpunit.xmlにホワイトリストの設定が書かれていないとカバレッジが出力できないらしい。

解決方法

以下の設定をphpunit.xmlに追加すればカバレッジが出力できた。

    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">src</directory>
        </whitelist>
    </filter>

設定の意味は?

srcディレクトリの*.phpファイルのみをカバレッジ算出の対象として指定している。

processUncoveredFilesFromWhitelist属性がtrueの場合、実行されたコードの有無にかかわらず全てのファイルをレポートの対象に含める。
falseの場合、1度も実行されないファイルはレポートの対象外となる。

更なる詳細は、末尾のドキュメントを参照されたし。

余談・PhpStormでカバレッジレポートを表示させたい場合

phpstormからカバレッジレポートを出力させる場合、デフォルトの設定のままだとphpunit.xmlを読み込んでくれなくて、エラーになりました。
設定画面のTest Frameworksで明示的にphpunit.xmlを指定してやる必要があるようです。

image.png

設定後、カバレッジ有りのテストを実行すると、カバレッジレポートが表示されました。

image.png

image.png

以上です。
よきPHPライフを!😀

参考ページ

本家ドキュメントのカバレッジに関するページ
https://phpunit.readthedocs.io/en/8.2/code-coverage-analysis.html#whitelisting-files

本家ドキュメントのフィルタに関するページ
https://phpunit.readthedocs.io/en/8.2/configuration.html#the-filter-element

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4