Sinon: Deep Equal ne doit pas exactement égal pour l'erreur

Créé le 9 mars 2017  ·  3Commentaires  ·  Source: sinonjs/sinon

Salut Sinon ! Merci de fournir une bibliothèque impressionnante avec de nouvelles fonctionnalités intéressantes ajoutées à la version préliminaire. J'ai utilisé pre pour l'API nouvellement introduite (j'allais écrire l'extension moi-même et j'ai trouvé le code en fouillant dans la source) mais la version .6 a cassé notre grande suite de tests.

  • Sinon version : 2.0.0-pre.6
  • Environnement : macOS avec Node6+
  • Exemple d'URL :
  • Autres bibliothèques que vous utilisez :
    Moka, Babel

Que vous attendiez-vous à ce qu'il se passe ?
Je ne m'attendais pas à ce que l'assertion .deep.equals échoue lorsqu'une instance d'erreur différente mais "égale" est transmise
Que se passe-t-il réellement
Pour toute sous-classe de Error , deep equals fait exactement equals . https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56

Medium Help wanted stale

Commentaire le plus utile

Salut à tous!

C'est en effet quelque chose de simple à résoudre et je suis prêt à faire un PR pour cela. Cependant, j'aimerais suggérer une approche différente autre que de simplement corriger cette clause if .
Dans Chai nous avons un module appelé deep-eql qui effectue des vérifications d'égalité en profondeur. Il a été largement testé et affiné pour les performances et fonctionne très bien sur le noyau de Chai.

En adoptant la même bibliothèque, nous travaillerions également sur la même base de code à l'avenir afin de l'améliorer et de la rendre meilleure pour chaque projet l'utilisant.

De plus, cela nous permet toujours d'avoir la méthode use raison de l'argument comparator cette bibliothèque accepte .

Si vous ne voulez pas l'adopter, c'est bien aussi, mais j'ai juste pensé à le suggérer avant de résoudre ce problème.

Tous les 3 commentaires

Salut à tous!

C'est en effet quelque chose de simple à résoudre et je suis prêt à faire un PR pour cela. Cependant, j'aimerais suggérer une approche différente autre que de simplement corriger cette clause if .
Dans Chai nous avons un module appelé deep-eql qui effectue des vérifications d'égalité en profondeur. Il a été largement testé et affiné pour les performances et fonctionne très bien sur le noyau de Chai.

En adoptant la même bibliothèque, nous travaillerions également sur la même base de code à l'avenir afin de l'améliorer et de la rendre meilleure pour chaque projet l'utilisant.

De plus, cela nous permet toujours d'avoir la méthode use raison de l'argument comparator cette bibliothèque accepte .

Si vous ne voulez pas l'adopter, c'est bien aussi, mais j'ai juste pensé à le suggérer avant de résoudre ce problème.

@lucasfcosta J'aime la solution proposée. Cela peut être un peu difficile de se disputer match pour devenir une option de comparaison ... mais il semble que vous aimez les défis ;)

J'aimerais voir un PR qui réduit la taille de la base de code

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes