Tôi thường muốn so sánh các mảng và đảm bảo rằng chúng chứa các phần tử giống nhau, theo bất kỳ thứ tự nào. Có cách nào ngắn gọn để làm điều này trong RSpec không?
Đây là những phương pháp không được chấp nhận:
#to_set
Ví dụ:
expect(array.to_set).to eq another_array.to_set
hoặc là
array.to_set.should == another_array.to_set
Điều này không thành công khi các mảng chứa các mục trùng lặp.
#sort
Ví dụ:
expect(array.sort).to eq another_array.sort
hoặc là
array.sort.should == another_array.sort
Điều này không thành công khi các phần tử mảng không thực hiện #<=>
eq
khớp, ví dụ:expect([1, 2]).to_not eq([2, 1])
to_set
vàsize
thực sự không làm những gì bạn muốn. Ví dụ [a, b, b] sẽ khớp với [a, a, b]. Chúc mừng!