在黄瓜特征文件中使用'*'关键字的正确方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在黄瓜特征文件中使用'*'关键字的正确方法是什么?相关的知识,希望对你有一定的参考价值。

我在一些Web UI上有多个验证。所以不要写作

Then I see "foo" element on the page
And I want the user to see "bar" text
.
.
.
And new order is generated

我希望我的功能文件更具可读性(这可能是特定于应用程序而非特定于业务),应该是这样的

Then following validations are made
     * "foo" element is visible
     * "bar" text is visible
     .
     .
     .
     * new order is generated

我的问题是,'*'关键字能够根据文档适应任何步骤,我是否正确使用它? (我想不是因为我的IDE不这么认为)。使用它的正确方法是什么?换句话说,如何用*编写步骤以便IDE理解并识别步骤定义

如果我没有正确理解这一点,请告诉我。

编辑:我使用'*'的方式是正确的,我们必须写类似的东西

* "foo" is present

IDE无法识别它可能是插件的问题,我用任何标准关键字(Given / When / Then)编写了步骤和相应的步骤定义,黄瓜识别它并相应地工作

答案

我使用的方法是找到所有验证的总名称,验证的验证是什么?

完成后,写一个步骤

Then 'my foo should be valid'

然后实现这样的东西

Then 'my foo should be valid' do should_have_valid_bar should_have_valid_baz ... end

然后编写帮助方法以使其工作。这将执行以下操作

  1. 简化您的功能文件,使其更易于阅读。
  2. 使添加或修改验证更便宜。
  3. 将责任转移给程序员
  4. 简化步骤定义并减少其数量

一般来说,让您的方案简单而简短,并且不包含有关完成任务的详细信息。将其归结为步骤定义和辅助方法。

另一答案

GWT应该被视为如下:给定某种先决条件,测试的某种设置。当发生的动作然后是动作的预期结果

And和But只是前面的Given,When或Then的表示。

有时候,这种方式只是不是最好的方法(并非所有工作都需要相同的工具),并且更需要一个“东西”列表。即

* Open web browser
* Go to google
* Search for Cheese
* Select a cheese to buy
* go to shop
* buy cheese
* eat cheese
* feel happy

这是*应该用于显示一个指令顺序的列表。 (我也很乐意认为上面的内容可以很容易地写入GWT,如果你理解你想要描述的内容,大多数情况都可以。)

以上是关于在黄瓜特征文件中使用'*'关键字的正确方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

如何在黄瓜特征文件中给出多个参数

黄瓜特征文件不识别步骤

黄瓜中的特征文件设置

执行多个黄瓜特征文件

如何通过命令提示符和使用 Maven 的 jenkins 运行单个黄瓜功能文件?

python基础(变量,常量,python变量内存管理,变量的三个特征,花式赋值,注释 )