PHPUnit
PhpStorm 通过与PHPUnit测试框架的集成支持 PHP 应用程序的单元测试。
在你开始前
确保在PHP 页面上的 PhpStorm中配置了 PHP 解释器,如配置本地 PHP 解释器和配置远程 PHP 解释器中所述。
下载并安装 PHPUnit
在开始之前,请确保 Composer 已安装在您的计算机上并在当前项目中初始化,如Composer 依赖项管理器中所述。
手动下载并安装 phpunit.phar
从PHPUnit 官网下载phpunit.phar并保存到你的电脑上:
如果除了运行 PHPUnit 测试之外还需要完整的编码帮助,请将phpunit.phar存储在项目的根目录下,以后将使用 PHPUnit。
如果您只需要运行 PHPUnit 测试并且不需要任何编码帮助,则可以将phpunit.phar保存在项目之外。
使用 Composer 下载并安装 phpunit.phar
在composer.json中,将phpunit/phpunit依赖记录添加到
require
orrequire-dev
部分。按Ctrl+Space以获得包名称和版本的代码完成。执行以下操作之一:
单击编辑器面板顶部的安装快捷方式链接。
如果启用了未安装的 Composer 包检查,PhpStorm 将突出显示当前未安装的已声明依赖项。按Alt+Enter并选择是否要一次安装特定依赖项或所有依赖项。
点击composer.json编辑器gutter中包记录旁边的,跳转到对应的Settings/Preferences页面,手动配置PHPUnit。
将 PHPUnit 与 PhpStorm 项目集成
如果您使用本地 PHP 解释器,PhpStorm 会自动执行初始 PHPUnit 配置。对于远程 PHP 解释器,需要手动配置 PHPUnit。
自动配置 PHPUnit
将phpunit.xml或phpunit.xml.dist配置文件存放在项目根目录下。
手动配置 PHPUnit
在设置/首选项对话框 ( Ctrl+Alt+S) 中,转到 。
在打开的测试框架页面上,单击中央窗格并从列表中选择配置类型:
在本地配置中,使用默认项目 PHP 解释器,请参阅默认项目 CLI 解释器了解详细信息。
要将 PHPUnit 与远程 PHP 解释器一起使用,请在打开的对话框中选择一种配置:
在右侧窗格中,选择 PHPUnit 库安装类型:
要使用 Composer 自动加载器,请指定供应商文件夹中autoload.php文件的路径。有关详细信息,请参阅作曲家。
要从phpunit.phar运行 PHPUnit ,请下载phpunit.phar,将存档保存在项目根文件夹中,并指定其路径。对于本地配置,您可以通过单击下载链接下载存档。要在当前项目中使用它,请确保定义了默认的 PHP 解释器。
单击 时,PhpStorm 会检测并显示 PHPUnit 版本。
在Test Runner区域中,指定配置XML文件以用于启动和执行场景。
默认情况下,PHPUnit在项目根文件夹或config文件夹中查找behat.yml配置文件。您可以指定自定义配置文件。
您还可以键入引导文件的路径,以便在启动测试之前始终执行 PHP 脚本。在该字段中,指定脚本的位置。手动键入路径或单击并在打开的对话框中选择所需的文件夹。
请注意,您还可以在编辑PHPUnit运行/调试配置时提供替代配置和引导文件。
为类生成 PHPUnit 测试
通过执行以下任一操作打开“创建新 PHP 测试”对话框:
从主菜单中,选择PHP 测试 | 上下文菜单中的PHPUnit 测试。
. 然后,选择在Project工具窗口中,按Alt+Insert或右键单击要测试的 PHP 类并选择 New | PHP 测试 | PHP 单元测试。
在要测试的 PHP 类的编辑器中,将插入符号放在类的定义处。然后,按并从弹出菜单中Alt+Enter选择创建新测试。这样,您可以为在单个 PHP 文件中的多个类中定义的 PHP 类生成测试。
要为某个方法创建测试,请将插入符号放置在方法声明中。所选方法将在Create New PHP Test对话框的方法列表中自动选择。
创建新的PHP 测试对话框打开。
提供生成的测试的参数:
测试文件模板,即 PhpStorm 生成测试类的模板。确保 在测试文件模板列表中选择了PHPUnit<6 。
测试类的名称。PhpStorm 自动将生产类名称中的名称组合为 <production class>Test.php。
测试类文件的文件夹,根据生产类的包含目录和命名空间、配置的测试源根目录及其psr-4 包前缀或phpunit.xml配置文件
directory
中指定的值自动建议。要指定不同的文件夹,请单击目录字段旁边的并选择相关文件夹。
生成测试方法存根的生产类方法。选中所需的生产类方法旁边的复选框。要包括从父类继承的方法,请选中显示继承的方法复选框。
PhpStorm 将自动将测试方法的名称组合为
test<production method>
. 您可以在文件和代码模板设置页面的代码选项卡上自定义用于生成测试方法存根的代码模板。
创建测试后,您可以通过选择Navigate |导航回生产类。转到测试主题。有关详细信息,请参阅在测试及其测试对象之间导航。
生成 PHPUnit 测试方法
在编辑器中打开所需的测试类并将插入符号放置在类定义中的任何位置。
在上下文菜单中选择生成或按Alt+Insert。然后从生成列表中选择测试方法。
设置测试夹具,即在测试开始前为模拟所需环境的代码生成存根,并在测试结束后返回原始环境:
在上下文菜单中选择生成或按Alt+Insert。然后从Generate列表中选择SetUp Method或TearDown Method 。
更多详细信息,请参见PHPUnit 官网的 Fixtures。
您可以在设置/首选项对话框 ( )的文件和代码模板页面上自定义用于生成 PHPUnit 测试方法的代码模板。要快速访问此页面,请在“生成”列表中,从方法的子菜单中选择“编辑模板”。Ctrl+Alt+S
运行和调试 PHPUnit 测试
您可以运行和调试单个测试以及来自整个文件和文件夹的测试。PhpStorm 使用默认设置创建运行/调试配置并启动测试。您可以稍后保存此配置以供进一步重复使用。
运行或调试 PHPUnit 测试
在 Project 工具窗口中,选择要从中运行测试的文件或文件夹,然后从选择的上下文菜单中选择Run '<file or folder>'或Debug '<file or folder>' :
PhpStorm 生成默认运行配置并使用它启动运行/调试测试会话。
运行或调试单个测试
在编辑器中打开测试文件,右键单击测试调用,然后从上下文菜单中选择Run '<test_name>'或Debug '<test_name>' 。
运行一系列测试
在编辑器中打开目标文件,右键单击所需的测试目标,即正在测试的类或方法,然后选择
或按Ctrl+Shift+T。从弹出菜单中,选择要执行的测试。对于多项选择,请使用Ctrl和Shift。
按Ctrl+Shift+F10运行测试选择。
测试会话结束后,PhpStorm 会自动创建一个运行/调试配置,并将其测试范围设置为Composite。有关详细信息,请参阅PHPUnit。
保存自动生成的默认配置
测试会话结束后,从文件或文件夹的上下文菜单中选择保存 <default_test_configuration_name>。
通过以前保存的运行/调试配置运行或调试测试
从工具栏上的列表中选择所需的 PHPUnit 配置,然后单击或。
创建自定义运行/调试配置
在项目工具窗口中,选择要运行测试的文件或文件夹,然后从上下文菜单中选择创建运行配置。或者,选择 从主菜单 ,然后单击并从列表中选择PHPUnit 。
在打开的PHPUnit对话框中,指定要运行的场景,选择要使用的PHP 解释器,并通过指定要传递给 PHP 可执行文件的选项和参数来自定义其行为。
监控测试结果
PhpStorm在Run 工具窗口的Test Runner 选项卡中显示测试执行结果。
该选项卡分为 2 个主要区域:
左侧区域可让您深入了解所有单元测试以查看成功和失败的测试。您可以过滤测试、导出结果并使用上下文菜单命令运行特定测试或导航到源代码。
右侧区域显示原始 PHPUnit 输出。
自动运行 PHPUnit 测试
当受影响的代码更改时,您可以让 PhpStorm 自动重新运行测试。此选项根据运行/调试配置进行配置,并可应用于测试、测试文件、文件夹或测试的组合选择,具体取决于此运行/调试配置中指定的测试范围。
运行测试。
在Test Runner选项卡上,按工具栏上的切换按钮:
或者,单击按钮并设置在代码更改时启动测试的时间延迟: