我有以下步骤: 用户使用以下输入创建一些内容:
|Key|value|
|Key|value|
意味着重复的值被传递到步骤。所以我想我应该使用 list<Map<String,String>>
在步骤定义中,但它被传递为 (key=key, value=value)
您能帮我解决一下如何保留此问题吗?
最佳答案
假设有以下功能文件
Feature: demo for a key,value data table
Scenario: duplicate data for a scenario
When some condition is true
Then enter a valid data pair
|Key |value|
|Key |value|
|SomeKey|SomeValue|
并且您想要对所有列出的行执行该方案,而不管重复的行Key,value
。
该步骤可以使用 DataTable 来实现参数
public void enterAValidDataPair(DataTable dataTable) throws Exception {
System.out.println("dataTable.raw().size() = " + dataTable.raw().size());
for (List<String> row : dataTable.raw()) {
System.out.printf("key: %-10s value: %-10s%n", row.get(0), row.get(1));
}
}
如果运行该场景,该方法会生成以下输出
dataTable.raw().size() = 3
key: Key value: value
key: Key value: value
key: SomeKey value: SomeValue
关于java - cucumber 步骤 map 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49765886/