Hallo Sinon! Vielen Dank für die Bereitstellung einer großartigen Bibliothek mit coolen neuen Funktionen, die der Vorabversion hinzugefügt wurden. Ich habe pre für neu eingeführte API verwendet (ich wollte selbst eine Erweiterung schreiben und fand den Code beim Durchsuchen des Quellcodes), aber die .6-Version hat unsere große Testsuite kaputt gemacht.
Was haben Sie erwartet?
Ich habe nicht erwartet, dass die .deep.equals
Assertion fehlschlägt, wenn eine andere, aber "gleiche" Fehlerinstanz übergeben wurde
Was passiert eigentlich
Für jede Unterklasse von Error
deep equals
genau equals
. https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56
Hallo allerseits!
Dies ist in der Tat etwas einfach zu lösen und ich bin bereit, eine PR dafür zu machen. Ich möchte jedoch einen anderen Ansatz vorschlagen, als nur diese if
Klausel zu reparieren.
In Chai
wir ein Modul namens deep-eql
das tiefe Gleichheitsprüfungen durchführt. Es wurde ausgiebig getestet und auf Leistung abgestimmt und funktioniert im Kern von Chai einwandfrei.
Durch die Übernahme der gleichen Bibliothek würden wir in Zukunft auch an der gleichen Codebasis arbeiten, um sie zu verbessern und für jedes Projekt, das sie verwendet, zu verbessern.
Außerdem erlaubt es uns immer noch, die Methode use
aufgrund des comparator
Arguments zu verwenden, das diese Bibliothek akzeptiert .
Wenn Sie es nicht übernehmen möchten, ist es auch in Ordnung, aber ich habe nur darüber nachgedacht, es vorzuschlagen, bevor ich dieses Problem löst.
@lucasfcosta Ich mag die vorgeschlagene Lösung. Es mag eine kleine Herausforderung sein, match
zu erringen, um eine Vergleichsoption zu werden ... aber es sieht so aus, als ob Sie die Herausforderungen mögen ;)
Ich würde gerne eine PR sehen, die die Größe der Codebasis reduziert
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität hatte. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.
Hilfreichster Kommentar
Hallo allerseits!
Dies ist in der Tat etwas einfach zu lösen und ich bin bereit, eine PR dafür zu machen. Ich möchte jedoch einen anderen Ansatz vorschlagen, als nur diese
if
Klausel zu reparieren.In
Chai
wir ein Modul namensdeep-eql
das tiefe Gleichheitsprüfungen durchführt. Es wurde ausgiebig getestet und auf Leistung abgestimmt und funktioniert im Kern von Chai einwandfrei.Durch die Übernahme der gleichen Bibliothek würden wir in Zukunft auch an der gleichen Codebasis arbeiten, um sie zu verbessern und für jedes Projekt, das sie verwendet, zu verbessern.
Außerdem erlaubt es uns immer noch, die Methode
use
aufgrund descomparator
Arguments zu verwenden, das diese Bibliothek akzeptiert .Wenn Sie es nicht übernehmen möchten, ist es auch in Ordnung, aber ich habe nur darüber nachgedacht, es vorzuschlagen, bevor ich dieses Problem löst.