是否可以将Gherkin中的数组拆分到下一行

时间:2018-04-09 16:04:22

标签: cucumber gherkin

我有步骤,我有字符串数组,像这样:

Then Drop-dow patient_breed contains ['Breed1', 'Breed2',.... Breed20']

我需要将这个文本分成两行。我知道在Gherkin中有表达"""。我尝试这样的事情:

Then Drop-dow patient_breed contains ['Breed1',
"""
'Breed2',.... Breed20']
"""

没有用。有没有解决方案?

3 个答案:

答案 0 :(得分:1)

通过在场景中添加此字符串可以获得什么? IMO你正在做的就是让场景更难阅读!

将这个字符串放在你的场景中你会失去什么?

首先,你现在必须至少有两件事来确定字符串的确切内容,创建它的应用程序中的东西以及场景中的硬编码字符串。所以你要重复自己。

此外,您还增加了变更成本。让我们说我们希望我们的字符串可以从Breedx'品种:x'。现在,您必须更改查看下拉列表的每个方案。这将比更改代码花费更长的时间。

那你可以做什么呢?

更改您的方案步骤,使其变为Then I should see the patient breeds,并委托品种的呈现方式,甚至委托将品种呈现在黄瓜之外的某种控制,例如由步骤定义调用的辅助方法,或者甚至是代码库中的某些东西。

答案 1 :(得分:0)

尝试使用数据表方法。您必须在stepdefinition中添加DataTable参数。

Then Drop-dow patient_breed contains
'Breed1'
'Breed2'
...
...
...
'Breed20']

对于多线方法,请尝试以下方法。在此,您必须在stepdefinition中添加String参数。

Then Drop-dow patient_breed contains
"""
  ['Breed1','Breed2',.... Breed20']
"""

答案 2 :(得分:0)

我会读取整个字符串,然后在将其传递到步骤后使用Java将其拆分。为了让我的步骤成为一两个衬垫,我会使用自己实现的辅助方法。