PHPUnit
PhpStorm 通过与以下平台集成,支持 PHP 应用程序的单元测试: PHPUnit 测试框架。
开始之前
确保在 PhpStorm 中配置了 PHP 解释器 PHP 页面 ,如所述 配置本地 PHP 解释器 和 配置远程 PHP 解释器 。
下载并安装 PHPUnit
在开始之前,请确保 Composer 已安装在您的计算机上,并在当前项目中初始化,如中所述 Composer 依赖管理器 。
手动下载并安装 phpunit.phar
下载 phpunit.phar 从 PHPUnit 官方网站 并将其保存到您的计算机上:
如果您除了运行 PHPUnit 测试的能力之外还需要完整的编码帮助,请存储 phpunit.phar 在稍后将使用 PHPUnit 的项目根目录下。
如果您只需要运行 PHPUnit 测试并且不需要任何编码帮助,则可以保存 phpunit.phar 项目之外。
使用 Composer 下载并安装 phpunit.phar
里面 composer.json ,添加
phpunit/phpunit
依赖记录require
或者require-dev
键。要获取软件包名称和版本的代码补全,请按 Ctrl+空格键 。执行以下操作之一:
点击 安装 编辑器面板顶部的快捷链接。
如果 未安装的 Composer 软件包 检查启用后,PhpStorm 将高亮显示当前未安装的已声明依赖项。按 Alt+Enter 并选择是否要安装特定的依赖项或一次安装所有依赖项。
点击
包裹记录旁边
composer.json
编辑器底部会带你到相应的
设置
您可以
手动配置 PHPUnit
。

将 PHPUnit 与 PhpStorm 项目集成
如果你使用 本地 PHP 解释器 ,PhpStorm 会自动执行初始 PHPUnit 配置。在以下情况下 远程 PHP 解释器 ,需要手动 PHPUnit 配置。
自动配置 PHPUnit
存储 phpunit.xml 或者 phpunit.xml.dist 项目根目录下的配置文件。
PhpStorm 检测已安装的 PHPUnit 可执行文件(或可执行文件,如果项目有 Composer 管理的子项目 具有指定的 PHPUnit 依赖项),并为每个已安装的 PHPUnit 可执行文件创建一个测试框架配置 测试框架 页。

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

手动配置 PHPUnit
在里面 设置 对话框( Ctrl+Alt+S ),前往 。
在 测试框架页面 打开后,点击
在中央窗格中,从列表中选择配置类型:
在本地配置中,使用项目默认的 PHP 解释器。有关更多信息,请参阅 默认项目 CLI 解释器 。
要将 PHPUnit 与远程 PHP 解释器一起使用,请在打开的对话框中选择以下配置之一:
在右侧窗格中,选择 PHPUnit 库安装类型:
要使用 Composer 自动加载器,请指定 自动加载.php 存档于 小贩 文件夹。有关更多信息,请参阅 作曲家 。
从以下位置运行 PHPUnit phpunit.phar , 下载 phpunit.phar ,将存档保存到项目根文件夹中,并指定其路径。对于本地配置,您可以点击提供的下载链接下载存档。要在当前项目中使用它,请确保已定义默认的 PHP 解释器。
当您点击
,PhpStorm 检测并显示 PHPUnit 版本。
在里面 测试运行器 区域,设置用于启动和执行场景的配置 XML 文件的路径。
您还可以输入引导文件的路径,以便在启动测试之前始终执行 PHP 脚本。在字段中指定脚本的位置。手动输入路径或点击
并在 打开的对话框 。
请注意,您还可以为特定 PHPUnit 编辑时运行/调试配置。
为类生成 PHPUnit 测试
打开 创建新的 PHP 测试 对话框中,执行以下操作之一:
转至 PHP 测试 | PHPUnit 测试 从上下文菜单中。
。然后,选择在里面 项目 工具窗口,按下 Alt+插入 或者右键单击要测试的 PHP 类并选择 。
在要测试的 PHP 类的编辑器中,将插入符号放在类的定义处。然后按 Alt+Enter 并选择 创建新测试 从弹出菜单中选择。这样,您就可以为单个 PHP 文件中多个类中定义的 PHP 类生成测试。
要为某个方法创建测试,请将插入符号放在方法声明中。所选方法将自动从方法列表中选择 创建新的 PHP 测试 对话。
在里面 创建新的 PHP 测试 在打开的对话框中,提供生成的测试的参数。
测试文件模板 :PhpStorm 将基于该模板生成测试类。请确保 PHPUnit (或者 PHPUnit<6 如果您使用的是 PHPUnit 6 或更早版本)从列表中选择。
姓名 :测试类的名称。PhpStorm 会自动将生产类名替换为 <生产类>Test.php 。
目录 :测试类文件的文件夹,根据生产类的包含目录和命名空间自动建议,配置 测试源根 及其 PSR-4 包前缀 或
directory
中指定的值 phpunit.xml 配置文件。要指定其他文件夹,请单击
旁边是 目录 字段并选择相关文件夹。
命名空间 :测试类所属的命名空间,根据生产类的包含目录和命名空间自动建议,配置 测试源根 及其 psr-4 软件包前缀 。
成员 :用于生成测试方法存根的生产类方法列表。选中所需生产类方法旁边的复选框。要包含从父类继承的方法,请选中 显示继承的方法 复选框。
PhpStorm 将自动将测试方法的名称组合为
test<production method>
。您可以自定义用于生成测试方法存根的代码模板 代码 选项卡 文件和代码模板 设置页面。
创建测试后,您可以通过选择导航回生产类 导航 | 前往测试主题 更多信息,请参阅 在测试和测试主题之间导航 。
生成 PHPUnit 测试方法
在编辑器中打开所需的测试类,并将插入符号放在类定义内的任何位置。
选择 产生 在上下文菜单中或按 Alt+插入 。然后选择 测试方法 从 产生 列表。
设置测试 固定装置 即在测试开始前为模拟所需环境的代码生成存根,并在测试结束后返回原始环境:
选择 产生 在上下文菜单中或按 Alt+插入 。然后选择 SetUp 方法 或者 TearDown 方法 从 产生 列表。
有关详细信息,请参阅 PHPUnit 官方网站上的 Fixtures 。
您可以自定义 代码模板 用于生成 PHPUnit 测试方法 文件和代码模板 页面 设置 对话框( Ctrl+Alt+S )。要快速访问此页面,请在 产生 列表,选择 编辑模板 从方法的子菜单中。

运行和调试 PHPUnit 测试
您可以运行和调试单个测试,也可以运行和调试整个文件和文件夹的测试。PhpStorm 会使用默认设置创建运行/调试配置并启动测试。您可以保存此配置以供日后重复使用。
运行或调试 PHPUnit 测试
在“项目”工具窗口中,选择要运行测试的文件或文件夹,然后选择 运行“<文件或文件夹>” 或者 调试“<文件或文件夹>” 从选择的上下文菜单中:
PhpStorm 生成默认运行配置并启动运行或 调试 使用它进行测试会话。
运行或调试单个测试
您可以从文件编辑器窗口运行或调试特定测试类或测试方法的单个测试。
在编辑器中打开测试文件,单击
在测试旁边的排水沟里,选择 运行“
” 或者 调试“” 从上下文菜单中。或者,将插入符号放在相应的行,然后按 Ctrl+Shift+F10 。

对单个数据集运行测试
如果 PHPUnit 测试使用
数据提供者
,您可以针对某些类型的数据集运行单个测试。可以单独运行的数据集标有
编辑器中的装订线图标。
在文件编辑器中,单击
在数据集旁边的边栏中(或右键单击相应的代码行)并选择 运行“
” 。
运行选定的测试
在编辑器中打开目标文件,右键单击所需的测试目标(即正在测试的类或方法),然后选择
或按 Ctrl+Shift+T 。从弹出菜单中选择要执行的测试。如需多选,请使用 Ctrl 和 转移 。
按 Ctrl+Shift+F10 运行测试选择。
测试会话结束后,PhpStorm 会自动创建一个运行/调试配置,其中包含 测试范围 设置 合成的 更多信息,请参阅 PHPUnit 。
将自动生成的配置保存为永久配置
测试结束后,选择 保存配置 从运行小部件中相应的运行/调试配置的上下文菜单中。
通过之前保存的运行/调试配置运行或调试测试
从工具栏上的列表中选择所需的 PHPUnit 配置,然后单击
或者
。
创建自定义运行/调试配置
在里面 项目 工具窗口,选择要运行测试的文件或文件夹并选择 创建运行配置 从上下文菜单中。或者,转到 在主菜单中,然后点击
并选择 PHPUnit 从列表中。
在里面 PHPUnit 在打开的对话框中,指定要运行的场景,选择 PHP解释器 使用并通过指定要传递给 PHP 可执行文件的选项和参数来定制其行为。
并行运行 PHPUnit 测试
为了加快 PhpStorm 中 PHPUnit 测试的执行速度,您可以使用 ParaTest 包。可以为按文件夹(测试套件)分组的 PHPUnit 测试设置并行执行选项。
设置路径 PhpStorm 的 ParaTest 二进制文件 在里面 测试运行器 可以通过以下方式之一进行设置:
在里面 设置 对话框( Ctrl+Alt+S ),前往 并设置 默认 ParaTest 二进制文件 场地。
对于现有的运行配置,打开 运行配置 对话框中,选择 使用 ParaTest 复选框并在字段中设置文件的路径。
在里面 项目 工具窗口,右键单击要运行测试的文件夹并选择 使用 ParaTest 运行
(PHPUnit) 上下文菜单中的选项。或者,右键单击 phpunit.xml 配置文件并选择 使用 ParaTest 运行 `phpunit.xml (PHPUnit)` 上下文菜单中的选项。
监控测试结果
PhpStorm 在 测试运行器选项卡 的 运行工具窗口 。

该选项卡分为两个主要区域:
左侧区域可让您深入查看所有单元测试,以查看成功和失败的测试。您可以筛选测试、导出结果,并使用上下文菜单命令运行特定测试或导航至源代码。
右侧区域显示原始 PHPUnit 输出。
自动运行 PHPUnit 测试
您可以让 PhpStorm 在受影响的代码发生更改时自动重新运行测试。此选项根据运行/调试配置进行配置,并可应用于单个测试、测试文件、文件夹或测试的复合选择,具体取决于此运行/调试配置中指定的测试范围。
运行测试。
在 跑步 工具栏,点击
自动重新运行 。
(可选)设置代码更改后启动测试的时间延迟。为此,在 跑步 工具栏,点击
并选择
测试运行器设置 | 设置自动测试延迟 。