PhpStorm 2021.3 Help

密码接收

PhpStorm 支持使用Codeception 测试框架2.2.0 及更高版本运行单元测试、功能测试和验收测试。

在你开始前

确保在PHP 页面上的 PhpStorm中配置了 PHP 解释器,如配置本地 PHP 解释器配置远程 PHP 解释器中所述。

下载并安装 Codeception

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

手动下载并安装 Codeception

  • Codeception 安装页面下载codeception.phar并将其保存在项目的根目录下,稍后将使用 Codeception。

    您还可以将codeception.phar保存在其他位置并将其配置为包含路径。无论哪种情况,PhpStorm 都会在索引中包含codeception.phar,因此它将成功解析对 Codeception 类的引用,从而为您提供完整的编码帮助。

使用 Composer 下载并安装 Codeception

  1. composer.json中,将codeception/codeception依赖记录添加到requireorrequire-dev部分。按Ctrl+Space以获得包名称和版本的代码完成。

  2. 执行以下操作之一:

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

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

从Codeception 官网了解更多关于安装 Codeception 的信息。

点击composer.json设置/首选项按钮编辑器gutter中包记录旁边的,跳转到对应的Settings/Preferences页面,手动配置Codeception

composer.json 中代码接收设置的装订线图标

在项目中集成 Codeception 和 PhpStorm

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

生成 codeception.yml 配置文件

安装 Codeception 后,您需要通过生成codeception.yml配置文件在项目中对其进行初始化。

  • 打开内置的 PhpStorm终端 Alt+F12并在命令提示符下键入以下命令之一,具体取决于安装模式和您当前的操作系统:

    • 如果您在项目中安装了codeception.pharphp codecept.phar bootstrap ,请为 Windows 和 macOS 或codecept bootstrapLinux 键入。

    • 如果您通过 Composer 全局安装 Codeception,请codecept bootstrap为所有平台键入。

自动配置 Codeception

  1. codeception.ymlcodeception.yml.dist配置文件存放在项目根目录下。

  2. 使用 Composer 安装 Codeception

PhpStorm 将在Test Frameworks 页面Codeception运行/调试配置上创建本地框架配置。

手动配置 Codeception

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到PHP | 测试框架

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

    ps_settings_php_test_frameworks.png
    • 在本地配置中,使用默认项目 PHP 解释器,请参阅默认项目 CLI 解释器了解详细信息。

    • 要将 Codeception 与远程 PHP 解释器一起使用,请在打开的对话框中选择一种配置:

      ps_settings_php_test_frameworks_codeception_choose_php_interpreter.png
  2. Codeception Library区域中,指定 Codeception 可执行文件或codeception.phar存档在目标环境中的位置。例如,如果您通过 Composer 安装 Codeception,则可执行文件存储在 vendor/bin/codecept中。单击Path to Codeception 目录或 phar 文件字段重新加载按钮旁边的。PhpStorm 检测 Codeception 的版本并将其显示在字段下方。

  3. Test Runner区域,指定配置YML文件以用于启动和执行场景。

    默认情况下,Codeception在项目根文件夹中查找codeception.yml配置文件。您可以指定自定义配置文件。

    • 清除默认配置文件复选框,让 Codeception 使用项目根文件夹中的codeception.yml配置文件。如果没有找到这样的文件,则测试执行失败,因此显式指定配置文件可能更可靠。

    • 选中默认配置文件复选框以指定您自己的YML配置文件。此文件稍后将在所有 Codeception 运行/调试配置中用作默认文件。

      在该字段中,指定要使用的配置文件的位置。手动键入路径或单击浏览按钮并在打开的对话框中选择文件。

为类生成 Codeception 测试

  1. 通过执行以下任一操作打开“创建新 PHP 测试”对话框:

    • 从主菜单中,选择文件 | 新的. 然后,选择PHP Test | Codeception 单元测试PHP 测试 | 上下文菜单中的Codeception 功能测试

    • Project工具窗口中,按Alt+Insert或右键单击要测试的 PHP 类,然后选择New | PHP 测试 | Codeception单元测试新| PHP 测试 | 代码接收功能测试

    • 在要测试的 PHP 类的编辑器中,将插入符号放在类的定义处。然后,按并从弹出菜单中Alt+Enter选择创建新测试。这样,您可以为在单个 PHP 文件中的多个类中定义的 PHP 类生成测试。

      要为某个方法创建测试,请将插入符号放置在方法声明中。所选方法将在Create New PHP Test对话框的方法列表中自动选择。

  2. 创建新的PHP 测试对话框打开。

    Create new codeception test 对话框

    提供生成的测试的参数:

    • 测试文件模板,即 PhpStorm 生成测试类的模板。确保在测试文件模板列表中选择了Codeception UnitCodeception Functional 。

    • 测试类的名称。PhpStorm 自动将生产类名称中的名称组合为 <production class>Test.php(用于Codeception Unit Test)或<production class>Cest.php(用于Codeception Functional Test)。

    • 测试类文件的文件夹,根据生产类的包含目录和命名空间、配置的测试源 root及其psr-4 包前缀codeception.yml配置文件tests中指定的值 自动建议。

      要指定不同的文件夹,请单击目录字段浏览按钮旁边的并选择相关文件夹。

    • 测试类将属于的命名空间,根据生产类的包含目录和命名空间、配置的测试源根目录及其psr-4 包前缀codeception.yml配置文件namespace中指定的值自动建议。

    • 生成测试方法存根的生产类方法。选中所需的生产类方法旁边的复选框。要包括从父类继承的方法,请选中显示继承的方法复选框。

      PhpStorm 将自动将测试方法的名称组合为test<production method>. 您可以在文件和代码模板设置页面的代码选项卡上自定义用于生成测试方法存根的代码模板。

创建测试后,您可以通过选择Navigate |导航回生产类。转到测试主题。有关详细信息,请参阅在测试及其测试对象之间导航

运行和调试 Codeception 测试

有关编写Codeception 测试的信息,请参阅单元测试验收测试功能测试

运行或调试 Codeception 测试

  • 在 Project 工具窗口中,选择要从中运行测试的文件或文件夹,然后从选择的上下文菜单中选择Run '<file or folder>'Debug '<file or folder>' :

    ps_test_frameworks_codeception_launch_tests.png

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

保存自动生成的默认配置

  • 测试会话结束后,从文件或文件夹的上下文菜单中选择保存 <default_test_configuration_name>

通过以前保存的运行/调试配置运行或调试测试

  • 从工具栏上的列表中选择所需的 Codeception 配置,然后单击运行按钮调试按钮

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

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

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

监控测试结果

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

ps_test_result_codeception.png

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

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

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

自动运行 Codeception 测试

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

  1. 运行测试。

  2. Test Runner选项卡上,按切换自动测试按钮工具栏上的切换按钮:

    ps_phpunit_enable-auto-test.png
  3. 或者,单击设置按钮按钮并设置在代码更改时启动测试的时间延迟:

    ps_phpunit_set-auto-test-delay.png
最后修改:2021 年 8 月 27 日