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

问题描述 投票:0回答:2

我在一些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)编写了步骤和相应的步骤定义,黄瓜识别它并相应地工作

cucumber gherkin
2个回答
1
投票

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

完成后,写一个步骤

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. 简化步骤定义并减少其数量

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


0
投票

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,如果你理解你想要描述的内容,大多数情况都可以。)

© www.soinside.com 2019 - 2024. All rights reserved.