Rspec: “array.should == another_array”, но без беспокойства о порядке

Я часто хочу сравнить массивы и удостовериться, что они содержат те же элементы в любом порядке. Существует ли краткий способ сделать это в RSpec?

Вот методы, которые не приемлемы:

#to_set

Например:

expect(array.to_set).to eq another_array.to_set

или

array.to_set.should == another_array.to_set

Это перестало работать, когда массивы содержат дублирующиеся объекты.

#sort

Например:

expect(array.sort).to eq another_array.sort

или

array.sort.should == another_array.sort

Это перестало работать, когда элементы массивов не реализуют #<=>

228
задан nicholaides 26 November 2018 в 04:39
поделиться

1 ответ

Попробуйте array.should =~ another_array

Лучшая документация по этому вопросу, которую я могу найти, это сам код, который находится здесь.

262
ответ дан 23 November 2019 в 03:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: