在一个规范中,我想比较两个多维数组:
array1 = [["a"],["b"],["c"]]
array2 = [["b"]]
expect(array1).to include(array2)
但它返回:
Failure/Error: expect(array1).to include(array2)
expected [["a"], ["b"], ["c"]] to include [["b"]]
这也会导致同样的错误:
array1 = [["a"],["b"],["c"]]
array2 = array1
expect(array1).to include(array2)
那么如何比较这两个数组?
答案 0 :(得分:0)
include?
method测试数组中成员的参数,因此您只需使用['b']
array2
元素进行测试:< / p>
array1 = [["a"],["b"],["c"]]
array2 = [["b"]]
expect(array1).to include(array2.first)
# => should pass
如果第二个数组中可能有多个元素,则可以使用两个数组的交集:
array1 = [["a"],["b"],["c"]]
array2 = [["a"], ["b"]]
expect(array1 & array2).to eq(array2)
# => should pass
array1 = [["a"],["b"],["c"]]
array2 = [["a"], ["e"]]
expect(array1 & array2).to eq(array2)
# => should fail