我有步骤,我有字符串数组,像这样:
Then Drop-dow patient_breed contains ['Breed1', 'Breed2',.... Breed20']
我需要将这个文本分成两行。我知道在Gherkin中有表达"""。我尝试这样的事情:
Then Drop-dow patient_breed contains ['Breed1',
"""
'Breed2',.... Breed20']
"""
没有用。有没有解决方案?
答案 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将其拆分。为了让我的步骤成为一两个衬垫,我会使用自己实现的辅助方法。