Introducción a Sinon para Javascript
7 Questions
2 Views

Introducción a Sinon para Javascript

Created by
@TransparentOcean

Questions and Answers

¿Qué método se utiliza para reemplazar el método jQuery.ajax en una prueba?

  • sinon.mock()
  • sinon.replace() (correct)
  • sinon.override()
  • sinon.stub()
  • ¿Qué se puede consultar de los fakes en Sinon?

  • Valor de retorno original
  • Tipo de datos de entrada
  • Número de pruebas realizadas
  • Número de llamadas realizadas (correct)
  • ¿Cuál es la ventaja de usar un servidor falso en las pruebas?

  • Aumenta la complejidad de las pruebas
  • Elimina por completo los errores de red
  • Reduce la necesidad de dependencias externas
  • Permite más control sobre el entorno de prueba (correct)
  • ¿Qué se debe hacer después de correr una prueba que reemplaza un método?

    <p>Llamar a sinon.restore()</p> Signup and view all the answers

    ¿Qué aspecto se considera importante al probar funciones con sinon?

    <p>El valor de 'this' y los argumentos</p> Signup and view all the answers

    Al probar una función que maneja Ajax, ¿por qué no se debe activar la actividad de red real?

    <p>Es ineficiente y lento</p> Signup and view all the answers

    ¿Qué tipo de lógica se puede probar de manera efectiva con Sinon relacionada con el tiempo?

    <p>Lógica dependiente del tiempo</p> Signup and view all the answers

    Study Notes

    Instalación de Sinon.js

    • La versión actual de Sinon es la v18.0.0, que se puede instalar utilizando npm.
    • Existen diferentes métodos de instalación que incluyen acceso a sistemas de construcción de Node y CommonJS, uso directo en navegadores y en ambientes de módulos ES6.

    Prueba de Funciones

    • Se puede crear una función que recibe otra función como argumento y devuelve una nueva función que solo ejecuta la original una vez, independientemente de cuántas veces se llame a la nueva función.
    • Es fundamental que la función se llame únicamente una vez y se pueda verificar el valor de this y los argumentos que recibe.

    Fakes y Comportamientos

    • Los "fakes" permiten simular el comportamiento de funciones para pruebas, controlando la cantidad de veces que se han llamado y los argumentos recibidos.
    • Un fake puede ser configurado para devolver lo mismo que la función original.

    Pruebas de Ajax

    • Para evitar activar la actividad de red en las pruebas, se debe reemplazar el método jQuery.ajax utilizando sinon.replace().
    • Después de cada prueba, el método jQuery.ajax debe ser restaurado con sinon.restore().

    XMLHttpRequest Falso

    • El uso de un XMLHttpRequest falso de Sinon.JS permite realizar pruebas sin depender de implementaciones específicas, facilitando la prueba de funciones relacionadas con Ajax.

    Servidor Falso

    • Sinon.JS también permite crear un servidor falso para simular respuestas y reducir la complejidad en el código de prueba.
    • La integración con marcos de prueba puede disminuir significativamente el boilerplate.

    Falsificación del Tiempo

    • Sinon.JS permite probar lógica sensible al tiempo sin necesidad de esperar, facilitando la verificación de funciones que debouncean otras.
    • Proporciona utilidades que ayudan a los marcos de prueba en la reducción de código repetitivo.

    Recursos Adicionales

    • Aunque se han cubierto las tareas más comunes con Sinon.JS, hay más funcionalidades disponibles en la documentación API.
    • Se menciona el libro "Test-Driven JavaScript Development" de Christian Johansen, que cubre la filosofía de diseño de Sinon.JS.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    En este cuestionario, aprenderás sobre la instalación y uso de Sinon, una biblioteca para realizar pruebas en Javascript. Veremos cómo configurar el acceso y cómo utilizarla en diferentes entornos, desde Node hasta navegadores modernos. Aprovecha la oportunidad para familiarizarte con los conceptos de fakes y pruebas efectivas.

    Use Quizgecko on...
    Browser
    Browser