0
在RSpec中,match_array
匹配器可让您检查两个数组是否具有相同的元素而不涉及订单。我想知道Ruby Test :: Unit模块中的等价匹配器。Ruby Test :: Unit中的RSpec match_array?
即如何在不使用RSpec的情况下编写以下代码?
RSpec的
expect([1,2,3,4]).to match_array [4,3,2,1]
# => true
在RSpec中,match_array
匹配器可让您检查两个数组是否具有相同的元素而不涉及订单。我想知道Ruby Test :: Unit模块中的等价匹配器。Ruby Test :: Unit中的RSpec match_array?
即如何在不使用RSpec的情况下编写以下代码?
RSpec的
expect([1,2,3,4]).to match_array [4,3,2,1]
# => true
我不知道在Ruby单元测试库中的任何特定功能,支持比赛的任何操作。认为这是一个非常简单的使用两个数组上的减法运算符,然后检查它们是否为空。
让A和B是被安排在不同的顺序整数
a = [1,2,3,4]
b = [4,3,2,1]
(a - b)
# => empty array
(a - b).empty?
# => true
所以把该数组一起将
def match_array(array1, array2)
(array1 - array2).empty?
end
match_array(a, b)
# => true
而且你可以使用Test::Unit#assert_block
require 'test/unit'
class TestArray < Test::Unit::TestCase
def test_array
assert_block do
([1,2,3,4] - [4,3,2,1]).empty?
end
end
end
你写你自己的... – 2014-11-04 02:58:36