PhpStorm 2025.2 Help

Behat

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

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

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

  • 功能 文件中支持 Gherkin 语法: 功能ScenarioGivenWhenThenAndBut 关键字。

  • 识别定义文件中的 @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 依赖项记录添加到 requirerequire-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 工具窗口中,选择要运行测试的文件或文件夹,并从上下文菜单中选择 创建运行配置。 或者,转到主菜单中的 运行 | 编辑配置(E) ,然后单击 添加图标 并从列表中选择 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
最后修改日期: 2025年 9月 26日