2017-08-25 90 views
0

我试过在网上查找,但是在Rspec的equal_set上找不到任何东西。我知道它用来测试序列化器,但就是这样。Rspec中的#equal_set是做什么的?

+0

我不认为它是RSpec正式的一部分。这可能是您的代码库使用的自定义匹配器,或者是其他已安装gem的RSpec帮助器。我猜想它就像'match_array',但将被比较的数组看作一组独特的元素。 –

回答

1

它被用在gem peck-on-rails这是一个扩展Peck使测试Rails更容易。 Peck是一个并发规范框架。

以下是equal_set方法,请参阅here

def equal_set(*others) 
    left, right = @this, others 
    left.flatten! if left.respond_to?(:flatten) 
    right.flatten! if right.respond_to?(:flatten) 

    message = "Expected sets to be #{[email protected] ? 'equal' : 'unequal'}: #{left.inspect} - #{right.inspect}" 
    satisfy(message) { Set.new(left) == Set.new(right) } 
end