需配置Xdebug/PCOV扩展、启用PhpStorm覆盖率模式、运行测试后查看内联标记及工具窗口报告,并可导出HTML格式报告。

如果您在PhpStorm中运行了单元测试,但未看到代码覆盖率数据,则可能是由于未正确配置覆盖率工具或未启用相关插件。以下是生成并查看PhpStorm中PHP代码覆盖率报告的具体步骤:
一、安装并启用Xdebug或PCOV扩展
PhpStorm本身不提供覆盖率计算能力,需依赖PHP扩展(Xdebug 2.7+ / 3.0+ 或 PCOV)来收集执行路径信息。确保PHP环境已加载对应扩展,并在php.ini中启用。
1、确认PHP版本及配置文件路径:在终端执行 php --ini 查看加载的配置文件位置。
2、编辑 php.ini,在文件末尾添加 Xdebug 配置(以Xdebug 3为例):zend_extension=xdebug.so,并确保 xdebug.mode=coverage 已启用。
立即学习“PHP免费学习笔记(深入)”;
3、若使用PCOV,取消注释或添加:extension=pcov.so,并设置 pcov.enabled=1。
4、重启Web服务器或PHP-FPM服务,执行 php -m | grep -i "xdebug\|pcov" 验证扩展已加载。
二、在PhpStorm中配置默认测试运行器为Coverage模式
PhpStorm需将测试运行方式从普通执行切换为覆盖率采集模式,才能触发扩展收集行执行标记。
1、打开 Run → Edit Configurations…。
2、在左侧选择目标PHPUnit配置(如“Tests in tests/”),或新建一个PHPUnit配置。
3、勾选 Code Coverage 复选框。
4、在 Coverage runner 下拉菜单中,根据PHP扩展选择 Xdebug 或 PCOV。
5、在 Include paths 中添加需统计覆盖率的源码目录(如 src/),排除测试文件和第三方库。
三、运行带覆盖率的测试并查看内联标记
PhpStorm会在编辑器右侧边栏及代码行号旁显示覆盖率标记,直观指示每行是否被执行、部分执行或未执行。
1、右键点击测试类文件或测试方法,选择 Run ‘TestName’ with Coverage。
标签: php linux phpstorm html windows 浏览器 工具 mac macos win 配置文件 ph
还木有评论哦,快来抢沙发吧~