所以我有一个字符串/字符串列表对的映射,我想做的是在提取后,将返回的列表组合成一个列表,我可以在该列表上执行更多断言:
我的测试.java
Map<String, List<String>> testMap = new HashMap<>();
List<String> nameList = newArrayList("Dave", "Jeff");
List<String> jobList = newArrayList("Plumber", "Builder");
List<String> cityList = newArrayList("Dover", "Boston");
testMap.put("name", nameList);
testMap.put("job", jobList);
testMap.put("city", cityList);
assertThat(testMap).hasSize(3)
.extracting("name", "city")
//not sure where to go from here to flatten list of lists
// I want to do something like .flatMap().contains(expectedValuesList)
当我调用提取时,它会将列表值提取到列表列表中,这很好,但之后我不能调用 flatExtracting,因为没有要传入的属性名称,而且从我读过的内容来看似乎没有像自定义提取器一样合适(否则我不完全确定如何将它组合在一起)。有没有另一种方法来展平我回来的列表列表?我可以走一条稍长的路线并在列表列表上进行断言,或者在断言之前使用 lambda 来收集结果,但我想将断言保持为一个(例如,一些地图断言然后在内容上链接一些断言)