PhpStorm 2026.2 Help

Behat

通过 PhpStorm,您可以使用 场景 并借助 Behat 框架实践行为驱动开发。 目前 PhpStorm 支持与 Behat 3 和 Behat 2 版本的集成。

PhpStorm 中对 Behat 的原生支持包括:

  • 识别和为 功能 场景文件及 PHP 场景定义文件提供代码辅助。

  • 在 功能 文件中支持 Gherkin 语法: 功能、 Scenario、 Given、 When、 Then、 And 和 But 关键字。

  • 识别定义文件中的 @given、 @when 和 @then 注解。

  • 通过正则表达式根据 PCRE 标准(适用于 Behat 2.4)和 PCRE+(适用于 Behat 3.0)设置 场景 与其 定义 之间的对应关系。 Turnip 表达式 也被支持。

开始之前

确保在 PhpStorm 的 PHP 页面中配置了 PHP 解释器,如 配置本地 PHP 解释器 和 配置远程 PHP 解释器 中所述。 请注意,Behat 3 需要 PHP 5.5 或更高版本。

下载并安装 Behat

在开始之前,请确保您的计算机上已安装 Composer,并按照 Composer 依赖管理器 中的说明在当前项目中初始化。

手动下载 Behat 安装包

  • 从 Behat 下载页面 下载 behat.phar 并将其保存到您的计算机上:

    • 如果您需要完整的代码辅助功能以及运行 Behat 测试的能力,请将 behat.phar 存储在项目的根目录下,Behat 将在稍后使用。

    • 如果您只需要运行 Behat 测试而不需要任何代码辅助功能,可以将 behat.phar 保存到项目外部。

使用 Composer 下载并安装 Behat

  1. 在 composer.json 中,将 behat/behat 依赖项记录添加到 require 或 require-dev 键中。 要获取包名称和版本的代码补全,请按 Ctrl+Space。

  2. 请执行以下操作之一:

    • 单击编辑器面板顶部的 安装 快捷链接。

    • 如果启用了 未安装的 Composer 包 检查,PhpStorm 将突出显示当前未安装的声明依赖项。 按 Alt+Enter 并选择是要安装特定依赖项还是一次性安装所有依赖项。

单击 设置按钮 ,位于 composer.json 编辑器边栏中的包记录旁边,将带您到相应的 设置 页面,您可以在此 手动配置 Behat。

composer.json 中用于 Behat 设置的边栏图标

了解更多关于从 Behat 官方网站 安装 Behat 的信息。

在项目中将 Behat 与 PhpStorm 集成

如果您使用 本地 PHP 解释器 ,PhpStorm 会自动执行初始 Behat 配置。 对于 远程 PHP 解释器 ,则需要手动配置 Behat。

自动配置 Behat

  1. 将 behat.yml 或 behat.yml.dist 配置文件存储在项目根目录下。

  2. 使用 Composer 安装 Behat。

PhpStorm 检测到已安装的 Behat 可执行文件(如果项目中有 由 Composer 管理的子项目 并指定了 Behat 依赖项,则可能有多个可执行文件),并在 测试框架 页面上为每个已安装的 Behat 可执行文件创建一个测试框架配置。

Behat 配置

如果在项目(或子项目)根目录下自动检测到 behat.yml 或 behat.yml.dist 配置文件,或者在 手动配置 期间明确指定,PhpStorm 还会创建相应的 Behat 运行/调试配置。

Behat 运行/调试配置

手动配置 Behat

  1. 在 设置 对话框 (Ctrl+Alt+S) 中,前往 PHP | 测试框架。

    在打开的 测试框架页面中,单击中央窗格中的 添加图标 ,并从列表中选择配置类型:

    ps_settings_php_test_frameworks.png
    • 在本地配置中,使用默认的项目 PHP 解释器。 有关更多信息,请参阅 默认项目 CLI 解释器。

    • 要使用远程 PHP 解释器运行 Behat,请在打开的对话框中选择一个配置:

      ps_settings_php_test_frameworks_behat_choose_php_interpreter.png
  2. 在 Behat 库 区域中,指定 Behat 可执行文件或 behat.phar 压缩包的位置。

    点击 重新加载按钮 字段旁的 Behat 目录或 phar 文件的路径。 PhpStorm 检测到 Behat 的版本并在字段下方显示。

  3. 在 测试运行器 区域中,设置用于启动和执行场景的配置 YML 文件的路径。

    • 取消选中 默认配置文件 复选框,以便 Behat 使用项目根文件夹中的 behat.yml 或 behat.yml.dist 配置文件。 如果未找到此类文件,测试执行将失败。 因此,显式指定配置文件可能更可靠。

    • 选中 默认配置文件 复选框,以指定 YML 文件的路径,将其用作所有 Behat 运行/调试配置中的默认配置文件。

运行和调试 Behat 测试

有关编写 Behat 功能 的更多信息,请参阅 Behat 文档。

运行或调试 Behat 测试

  • 在项目工具窗口中,选择要运行测试的功能文件,然后从所选内容的上下文菜单中选择 运行“<feature file>” 或 调试 '<feature file>':

    ps_test_frameworks_behat_launch_tests.png

    PhpStorm 会生成默认运行配置,并使用它启动运行或 调试测试会话。

保存自动生成的默认配置

  • 测试会话结束后,从运行小部件中相应的运行/调试配置的上下文菜单中选择 保存配置。

创建自定义运行/调试配置

  1. 在 Project 工具窗口中,选择要运行测试的文件或文件夹,并从上下文菜单中选择 创建运行配置。 或者,转到主菜单中的 运行 | 编辑配置 ,然后单击 添加图标 并从列表中选择 Behat。

  2. 在打开的 Behat 对话框中,指定要运行的场景,选择要使用的 PHP 解释器 ,并通过指定要传递给 PHP 可执行文件的选项和参数来自定义其行为。

监控 Behat 测试结果

PhpStorm 在 测试运行器选项卡的 运行工具窗口 中显示测试执行结果。

ps_test_result_behat.png

该选项卡分为两个主要区域:

  • 左侧区域允许您深入查看所有单元测试,以查看成功和失败的测试。 您可以筛选测试、导出结果,并使用上下文菜单命令运行特定测试或导航到源代码。

  • 右侧区域显示原始 Behat 输出。

自动运行 Behat 测试

当受影响的代码更改时,您可以让 PhpStorm 自动重新运行测试。 此选项是针对每个运行/调试配置配置的,可以应用于测试、测试文件、文件夹或测试的组合选择,具体取决于此运行/调试配置中指定的测试范围。

  1. 运行测试.

  2. 在 运行 工具栏上,单击 自动重新运行。

    ps_phpunit_enable-auto-test.png
  3. 可选地,为在代码更改时启动测试设置时间延迟。 为此,请在 运行 工具栏上,单击 并选择 测试运行程序设置 | 设置自动测试延迟。

    ps_phpunit_set-auto-test-delay.png
2026年 7月 14日