
Juan David González Rodríguez
PreguntaQue hace realmente
sinon
- Espías, que ofrecen información sobre llamadas a funciones, sin afectar su comportamiento
- Talones, que son como espías, pero reemplazan completamente la función. Esto permite hacer que una función stubped haga lo que quiera: lanzar una excepción, devolver un valor específico, etc.
- Stubs, que facilitan la sustitución de objetos completos mediante la combinación de espías y talones

Sura Naileth Cedeño Lopez
Hola:wave: En pocas palabras, Sinon le permite reemplazar las partes difíciles de sus pruebas con algo que simplifica las pruebas.
Al probar un fragmento de código, no desea que se vea afectado por nada fuera de la prueba. Si algo externo afecta una prueba, la prueba se vuelve mucho más compleja y podría fallar al azar. Sinon ayuda a eliminar la complejidad en las pruebas al permitirle crear fácilmente los llamados prueba-dobles.
Los dobles de prueba son, como sugiere el nombre, reemplazos de fragmentos de código utilizados en sus pruebas.
Puede sonar un poco extraño, pero el concepto básico es simple. Debido a que JavaScript es muy dinámico, podemos tomar cualquier función y reemplazarla por otra. Test-dobles simplemente lleva esta idea un poco más lejos. Con Sinon, podemos reemplazar cualquier función de JavaScript con un test-doble, que luego se puede configurar para hacer una variedad de cosas para hacer que las pruebas complejas sean simples.
Sinon divide los dobles de prueba en tres tipos:
Con estas características, Sinon le permite resolver todos los problemas difíciles que las dependencias externas causan en las pruebas.