我在一些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
然后编写帮助方法以使其工作。这将执行以下操作
一般来说,让您的方案简单而简短,并且不包含有关完成任务的详细信息。将其归结为步骤定义和辅助方法。
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,如果你理解你想要描述的内容,大多数情况都可以。)