我需要在某些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可以识别并相应地工作
答案 0 :(得分:1)
我要使用的方法是查找所有验证的整体名称,您要验证的验证是什么?
完成该操作后,只需编写一个步骤
Then 'my foo should be valid'
然后将其实现为类似
Then 'my foo should be valid' do
should_have_valid_bar
should_have_valid_baz
...
end
,然后编写帮助程序方法以完成此工作。这将执行以下操作
通常,使您的计划既简单又简短,并且不包括有关如何完成工作的详细信息。将HOW推入步骤定义和辅助方法。
答案 1 :(得分: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中,并且如果您充分理解了要描述的内容,那么大多数事情都可以做到。)