我正在使用 cucumber 数据表。我想将此数据表转换为 map 而不是列表。 那么基本上,如果我使用标题行作为键,使用数据行作为键的值,会怎么样。 我该怎么做?
让我分享 1 个例子来更清楚地说明。
给定以下动物:
| Type | BabyAnimal |
| cow | Calf |
| horse | Pony |
| sheep | Lamb |
而不是创建 List<List<String>>
在这里,使用 List<Map<String,String>>
是更好的方法。这里。
map 的键应包含“Type”和“BabyAnimal”,值应包含相应的值。
所以 map 实体将是:
<Type,cow>,<BabyAnimal,Calf>
<Type,horse>,<BabyAnimal,Pony>
<Type,sheep>,<BabyAnimal,Lamb>
我们该怎么做呢?
我觉得这是一种更好的方法,因为我们是从键中获取数据。
例如List(1).Map.get(Type)
而在 List 的情况下,我们必须执行 get(0)、get(1),并且有可能使用不正确的数据。
最佳答案
并添加第二个答案,因为问题中的通用类型已被 html 吞噬。
给定以下动物:
| Type | BabyAnimal |
| cow | Calf |
| horse | Pony |
| sheep | Lamb |
假设您希望这是您的步骤定义:
@Given("all baby animal details")
public void allMapDetails(List<Map<String, String>> animals) {
System.out.println(animals);
}
然后表格将自动转换为字符串到字符串的映射列表。
关于cucumber-java - Cucumber 数据表到 map 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50907441/