PhpStorm 2026.2 Help

运行带代码覆盖率的测试

PhpStorm 提供了一个专用操作,用于运行带代码覆盖率测量的测试。

使用现有配置运行带覆盖率的测试

要使用先前创建的 运行配置运行带覆盖率的测试,请执行以下操作之一:

  • Alt+Shift+F10 打开 运行 弹出窗口,选择所需的配置,单击其右侧的 ,然后选择 覆盖

  • 从工具栏中,从配置列表中选择所需的运行配置,单击 展开其选项,然后选择 运行“<configuration name>”并启用覆盖

    运行覆盖率

从项目视图运行带覆盖率的测试

要从 Project 视图运行一个或多个带覆盖率的测试,请执行以下操作:

  1. 右键单击特定的测试文件或包含所需测试的目录。

  2. 从上下文菜单中选择相应的运行命令,例如 运行“<tests> (PHPUnit)”并启用覆盖

从编辑器运行带覆盖率的测试

  • 单击 运行 ,在所需测试类或方法旁边的边距中,然后从打开的上下文菜单中选择 运行“<test name>”并启用覆盖

    运行特定测试

如果在设置中选择了 在将覆盖应用于编辑器之前显示选项 复选框 Ctrl+Alt+S| 构建、执行、部署 | 覆盖率 ,将会出现一个对话框,您可以选择是替换活动覆盖率套件,将收集的数据添加到活动套件,还是不应用覆盖率数据。 您还可以选择在未来跳过此对话框。 如果选择了其他选项,将会静默执行相应的操作。

现在可以在 浏览收集的覆盖率数据覆盖率 工具窗口、 Project 工具窗口或编辑器中。

管理覆盖率套件

覆盖率套件是从某次特定运行收集的代码覆盖率数据的集合。 每个覆盖率套件存储的数据来源于单个运行配置(如果是 带覆盖率运行时)或来自 导入的覆盖率数据文件

PhpStorm 将覆盖率套件存储在 coverage 文件夹的 IDE 系统目录中:

%LOCALAPPDATA%\JetBrains\PhpStorm%instance-version%\coverage

~/Library/Caches/JetBrains/PhpStorm%instance-version%/coverage

~/.cache/JetBrains/PhpStorm%instance-version%/coverage

PhpStorm 可以同时显示一个或多个覆盖率套件的结果,并且可以选择要显示的套件。 如果选择了多个套件,IDE 会显示它们的合并结果:也就是说,只要某一行代码在任一套件中被执行过,就会被视为已覆盖。

管理套件

  1. 在主菜单中,转到 运行 | 管理覆盖率报告…Ctrl+Alt+F6)。

  2. 选择要显示的覆盖率套件 菜单中:

    • 使用复选框选择活动套件。 激活的套件定义了当前在 IDE 中显示的覆盖率数据。

    • 使用 "添加"按钮Add 导入外部套件文件,例如在 CI 服务器生成的或他人发送给您的文件。

    • 请使用 "移除"按钮移除 从列表中移除套件但保留存储中的文件。

    • 使用 删除按钮删除 从列表中移除套件并从存储中删除文件。

    查看代码覆盖率结果

    代码覆盖率结果会在 覆盖率 工具窗口、 Project 工具窗口以及编辑器中显示,前提是已运行至少一个带覆盖率的测试配置。

    代码覆盖率结果

    此外,这些结果会保存到 IDE coverage 文件夹中的 系统目录

    覆盖率工具窗口

    覆盖率 工具窗口会在您运行带有覆盖率的测试配置后立即打开。 报告显示:

    • 对于目录:已覆盖文件和行的百分比。

    • 对于文件:已覆盖行的百分比。

    覆盖率 工具窗口有以下选项:

    项目

    描述

    点击导航按钮

    如果此选项开启,PhpStorm 会自动在编辑器中打开所选项目。 否则,您需要双击项目才能打开它们。

    始终选择已打开元素按钮

    如果启用此选项,PhpStorm 将自动在工具窗口中定位您在编辑器中打开的文件。

    导入外部覆盖率报告按钮

    从磁盘导入覆盖率套件。

    Filters

    过滤覆盖结果。 您可以选择仅查看具有未提交更改的类,关注最近的更新,或隐藏完全覆盖测试的类。

    如果您想重新打开 覆盖率 工具窗口,请转到主菜单中的 运行 | 显示代码覆盖率数据 ,或按 Ctrl+Alt+F6

    项目工具窗口中的代码覆盖率结果

    Project 工具窗口显示:

    • 对于目录:已覆盖文件和行的百分比。

    • 对于文件:已覆盖行的百分比。

    在编辑器中显示代码覆盖率结果

    在编辑器中,代码行根据其代码覆盖率状态在边距中以颜色显示:

    • 绿色(绿色高亮显示表示已完全覆盖 ):该代码行已被执行。

    • 红色(红色高亮显示表示未覆盖 ):该代码行未被执行。

    要查看特定代码行运行的次数,或从编辑器中隐藏覆盖率结果,请单击其边距颜色指示器。

    编辑器中显示的覆盖率结果
      2026年 7月 14日