Arrays rspec数组应该包括哪些内容?另一个数组
我试图测试一个数组是否包含另一个(rspec2.11.0) 这就是结果 rspec规范/测试规范 ..FArrays rspec数组应该包括哪些内容?另一个数组,arrays,testing,rspec,Arrays,Testing,Rspec,我试图测试一个数组是否包含另一个(rspec2.11.0) 这就是结果 rspec规范/测试规范 ..F 故障: 1) 1 3 7 失败/错误:它{应该包括(test_arr)} 预期[1,3,7]包括[1,3] #/规格/测试。规格:7:in‘分块(2级)in’ 在0.00125秒内完成 3例,1例失败 失败的示例: rspec./spec/test.spec:7#1 3 7 include rspec方法no接受数组参数,有更好的方法避免“eval”吗 只需使用(*)运算符,它将元
故障:
1) 1 3 7
失败/错误:它{应该包括(test_arr)}
预期[1,3,7]包括[1,3]
#/规格/测试。规格:7:in‘分块(2级)in’
在0.00125秒内完成
3例,1例失败
失败的示例:
rspec./spec/test.spec:7#1 3 7
include rspec方法no接受数组参数,有更好的方法避免“eval”吗
test_arr = [1, 3]
describe [1, 3, 7] do
it { should include(*test_arr) }
end
如果您想断言子集数组的顺序,您需要做的不仅仅是
应该包含(..)
,因为RSpec的包含匹配器只断言数组中的任何位置都显示每个元素,而不是所有参数都按顺序显示
最后,我使用each_cons
验证子数组是否按顺序存在,如下所示:
描述[1,3,5,7]做什么
它“按顺序包括[3,5]”
主题。每个主题(2)应包括([3,5])
结束
它“不包括[3,1]”do
主题。每个主题(2)。不应包括([3,1])
结束
结束
OMG!这是令人兴奋的…认真的,这在规范中真的非常有用,我不知道#包括支持的参数列表。非常感谢。老实说,这太棒了。让我检查一下我到底需要什么。
Failures:
1) 1 3 7
Failure/Error: it { should include(test_arr) }
expected [1, 3, 7] to include [1, 3]
# ./spec/test.spec:7:in `block (2 levels) in <top (required)>'
Finished in 0.00125 seconds
3 examples, 1 failure
Failed examples:
rspec ./spec/test.spec:7 # 1 3 7
test_arr = [1, 3]
describe [1, 3, 7] do
it { should include(*test_arr) }
end