Hai Sinon! Terima kasih telah menyediakan perpustakaan yang luar biasa dengan fitur baru yang keren yang ditambahkan ke versi pra-rilis. Saya telah menggunakan pra untuk API yang baru diperkenalkan (saya akan menulis ekstensi sendiri dan saya menemukan kode saat menggali sumbernya) tetapi rilis .6 merusak rangkaian pengujian besar kami.
Apa yang Anda harapkan terjadi?
Saya tidak berharap pernyataan .deep.equals
gagal ketika contoh kesalahan yang berbeda tetapi "sama" dilewatkan
Apa yang sebenarnya terjadi?
Untuk setiap subkelas Error
, deep equals
melakukan persis equals
. https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56
Halo semuanya!
Ini memang sesuatu yang sederhana untuk dipecahkan dan saya bersedia melakukan PR untuk itu. Namun, saya ingin menyarankan pendekatan yang berbeda selain hanya memperbaiki klausa if
.
Di Chai
kita memiliki modul bernama deep-eql
yang melakukan pemeriksaan kesetaraan mendalam. Ini telah diuji secara ekstensif dan disetel dengan baik untuk kinerja dan berfungsi dengan baik pada inti Chai.
Dengan mengadopsi pustaka yang sama, kami juga akan mengerjakan basis kode yang sama di masa mendatang untuk meningkatkannya dan membuatnya lebih baik untuk setiap proyek yang menggunakannya.
Selain itu, masih memungkinkan kita untuk memiliki metode use
karena argumen comparator
diterima perpustakaan ini .
Jika Anda tidak ingin mengadopsinya juga tidak apa-apa, tetapi saya hanya berpikir untuk menyarankannya sebelum menyelesaikan masalah ini.
@lucasfcosta Saya suka solusi yang diusulkan. Mungkin sedikit tantangan untuk memperdebatkan match
untuk menjadi opsi pembanding ... tapi sepertinya Anda menyukai tantangannya ;)
Saya ingin melihat PR yang mengurangi ukuran basis kode
Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.
Komentar yang paling membantu
Halo semuanya!
Ini memang sesuatu yang sederhana untuk dipecahkan dan saya bersedia melakukan PR untuk itu. Namun, saya ingin menyarankan pendekatan yang berbeda selain hanya memperbaiki klausa
if
.Di
Chai
kita memiliki modul bernamadeep-eql
yang melakukan pemeriksaan kesetaraan mendalam. Ini telah diuji secara ekstensif dan disetel dengan baik untuk kinerja dan berfungsi dengan baik pada inti Chai.Dengan mengadopsi pustaka yang sama, kami juga akan mengerjakan basis kode yang sama di masa mendatang untuk meningkatkannya dan membuatnya lebih baik untuk setiap proyek yang menggunakannya.
Selain itu, masih memungkinkan kita untuk memiliki metode
use
karena argumencomparator
diterima perpustakaan ini .Jika Anda tidak ingin mengadopsinya juga tidak apa-apa, tetapi saya hanya berpikir untuk menyarankannya sebelum menyelesaikan masalah ini.