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