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

如果您在PhpStorm中运行了单元测试,但未看到代码覆盖率数据,则可能是由于未正确配置覆盖率工具或未启用相关插件。以下是生成并查看PhpStorm中PHP代码覆盖率报告的具体步骤:
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需将测试运行方式从普通执行切换为覆盖率采集模式,才能触发扩展收集行执行标记。
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。
2、等待测试执行完成,编辑器左侧会出现彩色条:绿色表示完全覆盖,红色表示未执行,黄色表示部分覆盖(如条件分支仅走一条路径)。
3、将鼠标悬停在行号旁的色块上,可查看该行被调用次数及所属测试用例名称。
4、按 Ctrl+Shift+F6(Windows/Linux)或 Cmd+Shift+F6(macOS)可快速重新运行上一次覆盖率测试。
覆盖率工具窗口提供模块级、文件级、类级的百分比统计,并支持按行、分支、路径等维度筛选。
1、测试完成后,点击底部状态栏的 Coverage 标签,或按 Alt+6 打开 Coverage 工具窗口。
2、在窗口顶部下拉菜单中,选择当前会话的覆盖率快照(如 “Coverage for ‘test’”)。
3、展开树形结构,查看各文件的 Line coverage % 和 Branch coverage % 数值。
4、双击某文件,跳转至编辑器并高亮显示具体未覆盖行;右键某节点可选择 Show Covered Lines Only 过滤视图。
HTML报告便于存档、分享或集成进CI流程,包含交互式文件列表、源码着色、图表统计等功能。
1、在 Coverage 工具窗口中,点击右上角齿轮图标,选择 Export to HTML…。
2、指定输出目录(如 reports/coverage),保持默认模板即可。
3、点击 OK,PhpStorm自动生成 index.html 及配套资源文件。
4、用浏览器打开 index.html,首页显示总体覆盖率摘要,点击文件名可查看带语法高亮与执行标记的源码页。
以上就是PhpStorm怎么查看代码覆盖率_PhpStorm覆盖率报告生成与解读【教程】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号