pest(基于 phpunit 构建)中的代码覆盖率失败。 Laravel 单元测试中缺少 xdebug

pest(基于 phpunit 构建)中的代码覆盖率失败。 Laravel 单元测试中缺少 xdebug

我尝试运行 php artisan test --coverage (laravel 单元测试) 但出现 2 个错误

 WARN  No filter is configured, code coverage will not be processed

和 2

 WARN  Unable to get coverage using Xdebug. Did you set Xdebug's coverage mode?

我不明白我有 php8.1 和 8.2 并且在 fpm 和 cli php.ini 中我都有

xdebug.mode=coverage,debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

如果我执行 php -vi 得到

PHP 8.2.14 (cli) (built: Dec 21 2023 20:18:00) (NTS)
   Copyright (c) The PHP Group
   Zend Engine v4.2.14, Copyright (c) Zend Technologies
with Zend OPcache v8.2.14, Copyright (c), by Zend Technologies
with Xdebug v3.3.0, Copyright (c) 2002-2023, by Derick Rethans

我不明白问题是什么。

答案1

所以第二个错误是误导性的,第一个错误是解决方案

这是 rtfm 的情况,我应该添加到 phpunit.xml

<source>
    <include>
        <directory suffix=".php">./app</directory>
    </include>
</source>

代表我想要在报告中检查的文件。这修复了这两个错误。

详细信息:点击这里

相关内容