是否可以将小黄瓜中的数组拆分到下一行
Is it possible to split array in Gherkin to the next line
我有字符串数组的步骤,如下所示:
Then Drop-dow patient_breed contains ['Breed1', 'Breed2',.... Breed20']
我需要将这段文字分成两行。我知道在小黄瓜中有表达式“”。我尝试这样的事情:
Then Drop-dow patient_breed contains ['Breed1',
"""
'Breed2',.... Breed20']
"""
没用。有什么解决办法吗?
尝试使用数据表方法。您必须在步骤定义中添加一个 DataTable
参数。
Then Drop-dow patient_breed contains
'Breed1'
'Breed2'
...
...
...
'Breed20']
对于多行方法,请尝试以下方法。在此您必须向步骤定义添加一个 String
参数。
Then Drop-dow patient_breed contains
"""
['Breed1','Breed2',.... Breed20']
"""
我会读取整个字符串,然后在将其传递到步骤后使用 Java 拆分它。为了将我的步骤保持为一个或两个班轮,我会使用我自己实现的辅助方法。
将此字符串放入您的场景中有什么好处。在我看来,你所做的只是让场景更难阅读!
将此字符串放入您的方案中会损失什么?
首先,您现在必须至少有两件事来确定字符串的确切内容,创建它的应用程序中的内容以及您的方案中的硬编码字符串。所以你在重复自己。
此外,您还增加了变更成本。假设我们希望我们的字符串从 'Breedx' 变为 'Breed: x'。现在您必须更改查看下拉列表的每个场景。这比更改代码花费的时间要长得多。
那么你可以做什么呢?
更改您的场景步骤,使其变为 Then I should see the patient breeds
并将品种展示的方式,甚至品种展示的控制类型委托给 Cucumber 之外的东西,例如一个由步骤定义调用的辅助方法,或者甚至是您的代码库中的某些东西。
我有字符串数组的步骤,如下所示:
Then Drop-dow patient_breed contains ['Breed1', 'Breed2',.... Breed20']
我需要将这段文字分成两行。我知道在小黄瓜中有表达式“”。我尝试这样的事情:
Then Drop-dow patient_breed contains ['Breed1',
"""
'Breed2',.... Breed20']
"""
没用。有什么解决办法吗?
尝试使用数据表方法。您必须在步骤定义中添加一个 DataTable
参数。
Then Drop-dow patient_breed contains
'Breed1'
'Breed2'
...
...
...
'Breed20']
对于多行方法,请尝试以下方法。在此您必须向步骤定义添加一个 String
参数。
Then Drop-dow patient_breed contains
"""
['Breed1','Breed2',.... Breed20']
"""
我会读取整个字符串,然后在将其传递到步骤后使用 Java 拆分它。为了将我的步骤保持为一个或两个班轮,我会使用我自己实现的辅助方法。
将此字符串放入您的场景中有什么好处。在我看来,你所做的只是让场景更难阅读!
将此字符串放入您的方案中会损失什么?
首先,您现在必须至少有两件事来确定字符串的确切内容,创建它的应用程序中的内容以及您的方案中的硬编码字符串。所以你在重复自己。
此外,您还增加了变更成本。假设我们希望我们的字符串从 'Breedx' 变为 'Breed: x'。现在您必须更改查看下拉列表的每个场景。这比更改代码花费的时间要长得多。
那么你可以做什么呢?
更改您的场景步骤,使其变为 Then I should see the patient breeds
并将品种展示的方式,甚至品种展示的控制类型委托给 Cucumber 之外的东西,例如一个由步骤定义调用的辅助方法,或者甚至是您的代码库中的某些东西。