代码/剧本匹配

CukeTest 提供了智能的代码与剧本(Feature 文件)匹配功能,使用户能够同步编辑剧本文档和自动化脚本,提高开发效率。

这些功能包括:

  • 双向导航:从步骤文本快速跳转到相应的代码实现,或从代码定位到其对应的步骤。
  • 代码自动生成:为未定义的步骤自动生成代码框架。
  • 状态指示:步骤旁的扁圆按钮会以不同颜色指示步骤的状态,如是否已定义、是否已实现、是否有重复定义。
  • 项目验证:提供错误验证报告,帮助您在运行前发现问题。

如下图所示,点击步骤旁的扁圆按钮,即可在代码编辑器中快速跳转到对应的代码,或生成代码框架。

快速定位与生成步骤代码

可视模式 下编辑剧本文件时,CukeTest 可根据您在场景中创建的步骤,自动生成对应的 JavaScript 或 Python 代码片段。

  • 从步骤跳转到代码:如果一个步骤已经有了对应的代码实现,只需点击其右侧的绿色按钮,CukeTest 将自动打开对应的脚本文件,并定位到该步骤定义函数。
  • 自动生成代码框架:对于未定义的步骤(灰色按钮),点击按钮即可在当前打开的脚本文件末尾自动生成一个步骤定义函数的代码框架。
  • 处理重复定义:如果一个步骤被多个步骤定义函数匹配(红色按钮),点击按钮会弹出一个对话框,显示所有匹配的代码位置。注意:这种情况通常是脚本错误,因为 CukeTest 无法判断应该调用哪个函数,运行时会出错。您需要手动修改代码来解决重复问题。

状态按钮颜色说明

步骤右侧的扁圆按钮会以不同颜色标识其当前状态:

  • 灰色:表示未定义的步骤,即项目中没有步骤定义代码与此步骤匹配。点击此按钮将生成一个新的步骤定义函数框架。在点击前,请确保您已经打开了要插入代码的脚本文件。

  • 绿色:表示步骤已成功匹配到唯一且已实现的步骤定义函数。

  • 橘黄色:表示有步骤定义函数与之匹配,但该函数尚未有具体实现。

  • 红色:表示存在重复的步骤定义,即有多个函数与此步骤匹配。这种情况在运行时会引发错误。您需要通过删除重复代码或修改正则表达式来解决。

拖拽生成代码

默认情况下,点击按钮生成的代码块会插入到文件的最后一行。如果您需要指定代码生成的位置,可以单击并拖拽灰色按钮到编辑器中的任意位置,代码框架就会生成在您指定的位置。

步骤修改后的代码同步更新

当您修改剧本中的步骤文本时,如果对应的步骤定义没有同步更新,两者就会出现不匹配的情况。CukeTest 提供了智能更新功能,使这一过程变得非常简单。

以下图为例,我们想删除第三个步骤中的“此时”两个字:

修改完成后,步骤旁的按钮符号由“>”变为“?”,提示有待处理的选项。点击按钮,会显示一个弹出式菜单,提供三个选项:

  1. “跳转到原先的定义”:跳转到修改前对应的步骤定义函数,您可以手动进行修改。
  2. “更新原先的定义代码”:自动更新原步骤定义函数中的匹配表达式,使其与新的步骤文本匹配。
  3. “创建新的定义”:为修改后的步骤重新生成一个新的步骤定义函数框架。

下图显示步骤更新后的界面:

选择 “更新原先的定义代码”,CukeTest 就会自动同步更新右侧脚本中的匹配表达式。请注意,如果您的步骤中参数的数量或类型发生了变化,您可能还需要手动修改函数声明和其内部实现。

从代码定位步骤描述

在脚本文件中,您也可以从步骤定义代码反向定位到对应的剧本步骤。只需在步骤定义函数上右键单击,然后选择 【定位步骤描述】,CukeTest 就会跳转到关联的剧本文件,并高亮显示对应的步骤。

image

results matching ""

    No results matching ""