我实际上有两种类型的数据:
a = ["1", "2", "3", "3", "5"]
b = ["7", "2"]
given()
.header("Content-Type", "application/json").
when()
.post(this.url).
then()
.statusCode(200)
.contentType("application/json")
.body(myPathToData, everyItem(haveOneOrMoreElementFrom(a)));
我想用Hamcrest在我的身体响应中测试我的放心请求后,b(元素接收)是否包含来自a的一个或多个元素(haveOneOrMoreElementFrom,在我的示例中)。
是否也可以在我的身体反应中做出一个功能?
解决方案:
我找到了一个可能的解决方案:
每个项目(hasItem(isIn(a)))
我认为检查b
是否至少包含a
中的一个元素的解决方案是
assertThat(b, hasItemInArray(isIn(a))); // for arrays
assertThat(b, hasItem(isIn(a))); // for collections
如果你放心,那就太好了
...
then()
.body(pathToData, hasItem(isIn(a)));
在Hamcrest 2org中。汉克雷斯特。Matchers::isIn
方法已被弃用,因此建议使用is(在(a)中)
或只是在(a)
中。
问题内容: 我试图遍历2个数组,外部数组则比另一个数组更长。它将循环遍历第一个,如果第二个数组不包含该int,它将返回false。但是我不知道该怎么做。这是我到目前为止所拥有的: 运行时出现此错误: 我想知道是否可以不使用嵌套循环(如上)来完成。我知道我做错了,如果有人可以在此问题上提供帮助,那就太好了。我也不确定要在Java文档中寻找什么类。 问题答案: 您可以检查较大的数组是否包含较小数组中的
我如何在JavaScript中做到这一点?
假设我有两个数组,和,其中是的子集: 我想返回如下数组: 如果只是一个数字,那就足够简单了(),但我尝试了y中的等效
问题内容: 我想为数组中的每个值返回一个布尔值,指示它是否在array中。我猜这应该是一个标准程序,但是我找不到有关如何执行此操作的任何信息。我的尝试如下: 但是,我得到了错误: 我使用的是numpy,因此首选使用numpy或标准Python的解决方案。 问题答案: 我相信您可以使用-
问题内容: 我想找出$ all是否包含所有$ search_this值并返回true或false。有什么想法吗? 问题答案: 看一下array_intersect()。
问题内容: 我有两个数组,我想检查是否每个元素都在中。如果元素的值在中重复,则该元素的值必须相等。最好的方法是什么? 问题答案: 一种选择是对两个数组进行排序,然后遍历两个数组,然后比较元素。如果在超级袋中未找到子袋候选中的元素,则前者不是子袋。排序通常为O(n *log(n)),比较为O(max(s,t)),其中 s 和_t_是数组大小,总时间复杂度为O(m * log(m)) ,其中m =ma