Pest
PhpStorm 支持 Pest 测试框架。 您可以运行、带代码覆盖运行或调试 Pest 测试,运行 并行 Pest 测试 ,并且在 Pest 3.0 及更高版本中,从 PhpStorm 运行 Pest 变异测试。
IDE 理解 Pest 期望 API,因此在处理 Pest 断言和用户定义的测试方法时,您可以使用代码补全、查找用法和其他编码辅助功能。
安装并初始化 Pest
要从 PhpStorm 中安装 Pest:
在 composer.json 中,将
pestphp/pest依赖项记录添加到require或require-dev键中。 要获取包名称和版本的代码补全,请按 Ctrl+Space。请执行以下操作之一:
单击编辑器面板顶部的 安装 快捷链接。
如果启用了 未安装的 Composer 包 检查,PhpStorm 将突出显示当前未安装的声明依赖项。 按 Alt+Enter 并选择是要安装特定依赖项还是一次性安装所有依赖项。
在 终端 工具窗口中,执行
./vendor/bin/pest --init命令以在当前 PHP 项目中初始化 Pest,并在测试套件的根目录添加包含示例测试文件的 tests 文件夹和 phpunit.xml 配置文件。
单击 ,位于 composer.json 编辑器边栏的包记录旁边,将跳转到相应的 设置 页面,您可以在此 手动配置 Pest。

将 Pest 集成到 PhpStorm 项目中
如果您使用的是 本地 PHP 解释器 ,PhpStorm 会 自动执行初始 Pest 配置。 对于 远程 PHP 解释器 ,需要 手动配置 Pest。
让 PhpStorm 自动配置 Pest
当您在项目中安装 Pest 时,PhpStorm 会检测到已安装的 Pest 可执行文件,并在 测试框架页面上创建一个测试框架配置。

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

手动配置 Pest
在 设置 对话框 (Ctrl+Alt+S) 中,前往 。
在打开的 测试框架页面中,单击中央窗格中的
,并从列表中选择配置类型:

在本地配置中,使用默认的项目 PHP 解释器。 有关更多信息,请参阅 默认项目 CLI 解释器。
要将 Pest 与远程 PHP 解释器一起使用,请在打开的对话框中选择一个配置:

在 测试运行程序 区域中,设置用于启动和执行场景的配置 XML 文件的路径。
为类生成 Pest 测试
在编辑器中,将光标放在要测试的 PHP 类的定义处,按 Alt+Enter 并从弹出菜单中选择 创建新测试。 通过这种方式,您可以为单个 PHP 文件中定义的多个类中的某个 PHP 类生成测试。
要为某个方法创建测试,请将光标放在方法声明内。 所选方法将自动从 创建新的 PHP 测试 对话框中的方法列表中选中。
在打开的 创建新的 PHP 测试 对话框中,提供生成测试的参数。

测试文件模板 :PhpStorm 将基于此模板生成测试类。 确保从列表中选择了 Pest。
名称 :测试类的名称。 PhpStorm 会自动根据生产类名称组成名称。
目录 :测试类文件的文件夹,基于生产类的包含目录和命名空间、配置的 测试源根目录及其 PSR-4 包前缀 ,或配置文件中指定的值自动建议。
要指定其他文件夹,请单击
,位于 目录 字段旁边,并选择相关文件夹。
命名空间 :测试类所属的命名空间,基于生产类的包含目录和命名空间、配置的 测试源根 及其 psr-4 包前缀 自动建议。
成员 :要为其生成测试方法存根的生产类方法列表。 选中所需生产类方法旁边的复选框。 要包括从父类继承的方法,请选中 显示继承的方法 复选框。
PhpStorm 将自动生成测试方法的名称,如
test<production method>。 您可以在 代码 选项卡的 文件和代码模板 设置页面上自定义用于生成测试方法存根的代码模板。
创建测试后,您可以通过选择 导航 | 转到测试主体 导航回生产类。 更多信息请参阅 在测试和其测试对象之间导航。
运行和调试 Pest 测试
您可以运行和调试单个测试以及整个文件和文件夹中的测试。 您还可以运行 并行 Pest 测试 ,并且在 Pest 3.0 及更高版本中,从 PhpStorm 运行 Pest 变异测试。
PhpStorm 会使用默认设置创建一个运行/调试配置并启动测试。 您可以稍后保存此配置以便重复使用。
运行或调试 Pest 测试
在 PhpStorm 中运行 Pest 测试有几种替代方法:
从 Project 工具窗口:选择要运行测试的文件或文件夹,然后从选择的上下文菜单中选择 运行“<file or folder>”、 调试 '<file or folder>' 或 更多运行/调试。

从文件编辑器窗口:在编辑器中打开测试文件,单击测试旁边边栏中的
,然后从上下文菜单中选择 运行“<test_name>”、 调试 '<test_name>'、 并行运行 '<test_name>' 或 使用变异运行 '<test_name>'。
或者,将光标放在相应的行上并按 Ctrl+Shift+F10。

从运行小部件:从下拉列表中选择 当前文件 ,然后单击
或
以运行或调试当前打开的测试文件,或者单击
以选择 并行运行 '<test_name>' 或 使用变异运行 '<test_name>' 选项。 
PhpStorm 会生成默认运行配置,并使用它启动运行或 调试测试会话。
导航 Pest 测试
要快速导航到测试文件中的特定测试,请使用 文件结构视图。 将光标放在打开文件的任意位置,然后按 Ctrl+F12 以打开 文件结构 弹出窗口。

按下 Alt+7 会在 结构 工具窗口中打开文件结构。
将自动生成的配置保存为永久配置
测试会话结束后,从运行小部件中相应的运行/调试配置的上下文菜单中选择 保存配置。

通过先前保存的运行/调试配置运行或调试测试
从工具栏的列表中选择所需的 Pest 配置,然后单击
或
。
创建自定义运行/调试配置
在 Project 工具窗口中,选择要运行测试的文件或文件夹,并从上下文菜单中选择 创建运行配置。 或者,转到主菜单中的 ,然后单击
并从列表中选择 Pest。
在打开的 Pest 对话框中,指定要运行的场景,选择要使用的 PHP 解释器 ,并通过指定要传递给 PHP 可执行文件的选项和参数来自定义其行为。
监控测试结果
PhpStorm 在 测试运行器选项卡的 运行工具窗口 中显示测试执行结果。

该选项卡分为两个主要区域:
左侧区域允许您深入查看所有单元测试,以查看成功和失败的测试。 您可以筛选测试、导出结果,并使用上下文菜单命令运行特定测试或导航到源代码。
右侧区域显示原始 Pest 输出。
此外,失败的测试会在文件编辑器窗口中突出显示。

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

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