阅读(2817) (13)

IntelliJ IDEA:使用Behat进行测试

2019-03-28 17:24:31 更新

使用Behat进行测试

此功能仅在Ultimate版本中受支持。

使用IntelliJ IDEA,您可以通过使用Behat框架运行场景来练习行为驱动的开发。目前,IntelliJ IDEA支持与Behat 3和Behat 2版本的集成。 

IntelliJ IDEA中Behat的原生支持包括:

  • 对feature方案文件和PHP方案定义文件的识别和编码帮助。
  • Gherkin语法支持feature文件:Feature,Scenario,Given,When, Then,And,和But关键字。
  • 识别定义文件中@given,@when以及@then注释。
  • 根据Behat 2.4 的PCRE标准和Behat 3.0的PCRE +,通过正则表达式设置方案与其定义之间的对应关系。

开始准备

  1. 确保PHP解释器在PHP页面上的IntelliJ IDEA中配置,如配置本地PHP解释器配置远程PHP解释器中所述。请注意,Behat 3需要PHP 5.5及更高版本。
  2. 确保已安装并启用了PHP和Behat插件。插件未与IntelliJ IDEA捆绑在一起,但可以从JetBrains插件存储库中安装它们。启用后,插件可在IDE级别使用,也就是说,您可以在所有IntelliJ IDEA项目中使用它们。

下载并安装Behat

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

手动下载Behat安装包

  • 从Behat下载页面下载behat.phar并将其保存在您的计算机上:

    • 如果除了运行Behat测试的能力之外还需要完整的编码帮助,请将behat.phar存储在项目的根目录下,以便稍后使用Behat。

    • 如果您只需要运行Behat测试并且不需要任何编码帮助,则可以将behat.phar保存在项目之外。

使用Composer下载并安装Behat

  1. 从composer.json的上下文菜单中,选择:Composer | 管理依赖关系。或者从主菜单选择:工具|Composer|管理依赖项。

  2. 在打开的“管理Composer依赖关系”对话框中,从“可选包”列表中选择behat/behat包,可以使用搜索字段。

    从要安装的版本列表中选择相关版本。

  3. 如有必要,请展开“设置隐藏”区域并指定高级安装选项。在“命令行参数”字段中,键入其他命令行参数。建议提供--dev:选项:在这种情况下,包将添加到composer.json文件的require-dev部分而不是默认的require部分。

  4. 单击“安装”。

在项目中集成Behat和IntelliJ IDEA

如果您使用本地PHP解释器,IntelliJ IDEA会自动执行初始Behat配置。

自动配置Behat

  1. 将behat.yml或behat.yml.dist配置文件存储在项目根目录下。

  2. 使用Composer安装Behat。

IntelliJ IDEA将在“测试框架”页面和Behat运行/调试配置上创建本地框架配置。

您可以手动配置Behat。如果使用远程PHP解释器,则需要手动配置。

手动配置Behat

  1. 在“设置/首选项”对话框(Ctrl+Alt+S)中,展开“语言和框架”节点,然后选择“PHP下的测试框架”。

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

    ps_settings_php_test_frameworks.png
    • 在本地配置中,使用默认项目PHP解释器。

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

      ps_settings_php_test_frameworks_behat_choose_php_interpreter.png
  2. 在Behat Library区域中,指定Behat可执行文件或behat.phar存档的位置。

    点击重新加载按钮旁边的“路径到Behat目录或 phar 文件”字段。IntelliJ IDEA检测Behat的版本并将其显示在字段下方。
  3. 在“ 测试运行程序”区域中,指定用于启动和执行方案的配置YML文件。
    默认情况下,Behat在项目根文件夹或config文件夹中查找behat.yml配置文件。您可以指定自定义配置文件。

    • 清除默认配置文件复选框,让Behat使用项目根文件夹或config文件夹中的behat.yml配置文件。如果未找到此类文件,则测试执行失败,因此明确指定配置文件可能更可靠。

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

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

运行和调试Behat测试

运行或调试Behat测试操作步骤如下:

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

    ps_test_frameworks_behat_launch_tests.png

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

保存自动生成的默认配置

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

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

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

  2. 在打开的“运行/调试配置:Behat”对话框中,指定要运行的方案,并通过指定要传递给PHP可执行文件的选项和参数来自定义当前PHP解释器的行为。

监控Behat测试结果

IntelliJ IDEA在“运行工具”窗口的“测试运行程序”选项卡中显示测试执行结果。

ps_test_result_behat.png

该标签分为两个主要区域:

  • 左侧区域允许您深入查看所有单元测试以查看成功和失败的单元测试。您可以过滤测试,导出结果,并使用上下文菜单命令来运行特定测试或导航到源代码。
  • 右侧区域显示原始Behat输出。