Sinon: Deep Equal sollte für Fehler nicht exakt gleich sein

Erstellt am 9. März 2017  ·  3Kommentare  ·  Quelle: sinonjs/sinon

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.

  • Sinon-Version: 2.0.0-pre.6
  • Umgebung: macOS mit Node6+
  • Beispiel-URL:
  • Andere Bibliotheken, die Sie verwenden:
    Mokka, Babel

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

Medium Help wanted stale

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 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.

Alle 3 Kommentare

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.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen