2017-08-25 87 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