You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHPUnit代码覆盖率命令无法运行问题求助

解决PHPUnit "No whitelist configured" 错误

我刚帮你排查了下这个问题,No whitelist configured错误本质是PHPUnit没法定位到你要计算代码覆盖率的目标文件,核心问题出在你配置里的白名单路径上。

看你给出的配置:

<directory suffix=".php">/src/*</directory>

这里的/src/*是绝对路径,它会指向系统根目录下的src文件夹,而不是你项目根目录里的src,这显然不是你想要的。另外*符号也是多余的,<directory>标签会自动递归遍历目标目录下的所有符合后缀的文件。

修正方案

把白名单的目录路径改成项目根目录的相对路径即可,修改后的完整配置如下:

<phpunit colors="true" bootstrap="tests/bootstrap.php">
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">src</directory>
            <!--<file>/path/to/file</file>-->
            <exclude>
                <!--<directory suffix=".php">/path/to/files</directory>-->
                <!--<file>/sr</file>-->
            </exclude>
        </whitelist>
    </filter>
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

额外检查点

  • 确认你的项目根目录下确实存在src文件夹,且里面有PHP源码文件
  • 确保你是在项目根目录下执行覆盖率命令:
    ./vendor/bin/phpunit --coverage-html coverage
    
  • 如果还是有问题,可以先跳过配置文件,用命令行参数临时指定白名单测试:
    ./vendor/bin/phpunit --coverage-html coverage --whitelist src
    
    要是这个命令能正常生成覆盖率报告,那说明就是配置文件的路径问题,再回头核对xml配置即可。

内容的提问来源于stack exchange,提问作者Rohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:07:20