Saya sering ingin membandingkan array dan memastikan bahwa mereka mengandung elemen yang sama, dalam urutan apa pun. Apakah ada cara ringkas untuk melakukan ini di RSpec?
Berikut adalah metode yang tidak dapat diterima:
#to_set
Sebagai contoh:
expect(array.to_set).to eq another_array.to_set
atau
array.to_set.should == another_array.to_set
Ini gagal ketika array berisi item duplikat.
#sort
Sebagai contoh:
expect(array.sort).to eq another_array.sort
atau
array.sort.should == another_array.sort
Ini gagal ketika elemen array tidak diimplementasikan #<=>
eq
pencocokan, misalnyaexpect([1, 2]).to_not eq([2, 1])
to_set
dansize
sebenarnya tidak melakukan apa yang Anda inginkan. Misalnya [a, b, b] akan cocok dengan [a, a, b]. Bersulang!