Java Hamcrest Matcher检查列表是否包含另一个列表

问题描述 投票:0回答:1

我想比较一个列表是否是另一个列表的子列表

假设我有以下列表

List<String> checkList = Arrays.asList("a", "d");

List<String> actualList = Arrays.asList("a", "b", "c", "d");

我想检查actualList是否包含checkList。我可以迭代每个值并进行比较。但是有没有可以做这项工作的hamcrest matcher

例如

[ad应该通过

[abc应该通过

但是ae应该失败

hasItems支持要单独传递的字符串,并且contains正在检查所有值,in支持在列表中存在的项目。但我想要

assertThat(actualList,containsList(checkList))

是否有内置的匹配器,或者我需要编写自定义匹配器?

java assertion hamcrest
1个回答
0
投票

[hasItems接受varargs参数,因此您可以将列表转换为数组并将其传递(或者,仅将其声明为数组开头):]

© www.soinside.com 2019 - 2024. All rights reserved.