Sinon: Deep Equal no debe ser exactamente igual por error

Creado en 9 mar. 2017  ·  3Comentarios  ·  Fuente: sinonjs/sinon

¡Hola Sinon! Gracias por proporcionar una biblioteca increíble con nuevas características interesantes agregadas a la versión preliminar. He estado usando pre para la API recién introducida (iba a escribir la extensión yo mismo y encontré el código mientras buscaba en la fuente) pero la versión .6 rompió nuestro gran conjunto de pruebas.

  • Versión de Sinon: 2.0.0-pre.6
  • Entorno: macOS con Node6 +
  • URL de ejemplo:
  • Otras bibliotecas que está utilizando:
    Mocha, Babel

Qué esperabas que sucediera?
No esperaba que la aserción .deep.equals fallara cuando se pasaba una instancia de error diferente pero "igual"
Que pasa realmente
Para cualquier subclase de Error , deep equals hace exactamente equals . https://github.com/sinonjs/sinon/blob/master/lib/sinon/util/core/deep-equal.js#L54 -L56

Medium Help wanted stale

Comentario más útil

¡Hola a todos!

De hecho, esto es algo simple de resolver y estoy dispuesto a hacer un PR por ello. Sin embargo, me gustaría sugerir un enfoque diferente además de arreglar esa cláusula if .
En Chai tenemos un módulo llamado deep-eql que realiza comprobaciones profundas de igualdad. Ha sido ampliamente probado y ajustado para el rendimiento y funciona bien en el núcleo de Chai.

Al adoptar la misma biblioteca, también estaríamos trabajando en el mismo código base en el futuro para mejorarlo y hacerlo mejor para cada proyecto que lo use.

Además, todavía nos permite tener el método use debido al argumento comparator acepta esta biblioteca .

Si no desea adoptarlo, también está bien, pero solo pensé en sugerirlo antes de resolver este problema.

Todos 3 comentarios

¡Hola a todos!

De hecho, esto es algo simple de resolver y estoy dispuesto a hacer un PR por ello. Sin embargo, me gustaría sugerir un enfoque diferente además de arreglar esa cláusula if .
En Chai tenemos un módulo llamado deep-eql que realiza comprobaciones profundas de igualdad. Ha sido ampliamente probado y ajustado para el rendimiento y funciona bien en el núcleo de Chai.

Al adoptar la misma biblioteca, también estaríamos trabajando en el mismo código base en el futuro para mejorarlo y hacerlo mejor para cada proyecto que lo use.

Además, todavía nos permite tener el método use debido al argumento comparator acepta esta biblioteca .

Si no desea adoptarlo, también está bien, pero solo pensé en sugerirlo antes de resolver este problema.

@lucasfcosta Me gusta la solución propuesta. Puede ser un poco desafiante discutir match para convertirse en una opción de comparación ... pero parece que te gustan los desafíos;)

Me encantaría ver un PR que reduzca el tamaño del código base

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

stevenmusumeche picture stevenmusumeche  ·  3Comentarios

byohay picture byohay  ·  3Comentarios

fearphage picture fearphage  ·  3Comentarios

optimatex picture optimatex  ·  4Comentarios

OscarF picture OscarF  ·  4Comentarios