java – hamcrest:如何匹配数组是另一个数组的子集?
发布时间:2020-12-14 23:55:54 所属栏目:Java 来源:网络整理
导读:鉴于: int[] a = {1,2,3,4};int[] b = {1,4,5}; 如何断言“a”是使用hamcrest匹配器的“b”的子集? 以下作品 assertThat(Arrays.asList(b),hasItems(a)); 但是,由于我从“b”创建了“a”,所以我宁愿将“a”作为该值. 就像是 assertThat(a,isSubsetOf(b));
鉴于:
int[] a = {1,2,3,4}; int[] b = {1,4,5}; 如何断言“a”是使用hamcrest匹配器的“b”的子集? 以下作品 assertThat(Arrays.asList(b),hasItems(a)); 但是,由于我从“b”创建了“a”,所以我宁愿将“a”作为该值. assertThat(a,isSubsetOf(b)); 另外,最好避免将数组转换成列表. 解决方法
您可以使用
Every 和
IsIn 匹配器的组合:
assertThat(Arrays.asList(a),everyItem(isIn(b))); 这样会检查是否每个项目都包含在b中.确保a和b的类型为整数[],否则可能会产生意想不到的结果. 在最新版本中,将isIn替换为,自第一个has been deprecated起. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |