UNIT TESTING: ANGULAR

 


¿QUÉ ES JASMINE?

·        eS un marco de pruebas para JavaScript

·         Es más popular en aplicaciones desarrolladas con Angular.

·         Principales sentencias:

-      Describeà se usa para poder agrupar un conjunto de pruebas, donde se puede escribir pruebas unitarias a una clase y luego agrupar pruebas por cada método de la clase

-      Ità define cada uno de los casos de prueba que vamos escribir y estarán dentro de cada describe. Cada uno de los it puede evaluar un caso de prueba en particular.

-       BeforeEachà se puede usar para no repetir código, todo lo que esté dentro de la sentencia, se ejecuta por cada describe()

-      Expectà sirve para verificar cualquier comportamiento en nuestro código con lo que esperamos como resultado.

·         Gran comunidad

·         Open Source

¿QUÉ ES KARMA?

·         Aplicación desarrollada en NodeJS, que proporciona una herramienta de línea de comandos JavaScript.

·         Es un Test-runner para ejecutar las pruebas unitarias.

o   No proporciona API

·         Permite ejecutar sus archivos de especificaciones en varios navegadores

·         También puede ver los archivos de desarrollo en busca de cambios y volver a ejecutar pruebas automáticamente.

·         Pruebas con dispositivos reales

·         Respaldado por Google

·         Fácil depuración

·         Lento, porque las pruebas se ejecutan en un navegador real.



¿QUÉ ES JEST?


·         Basado en Jasmine, nace en el contexto de React.

·         Suitesà Agrupaciones de tests relacionados. Los niveles de agrupación son los siguiente:

-      Nivel de fichero: Cada suite puede ir en un fichero distinto siempre y cuando sea detectado por Jest. Esto sucede bajo ciertas condiciones como que se llame *.test.js o que esté dentro de un directorio __test__, por ejemplo.

-      Definición de contextos: Podemos agrupar tests mediante la construcción “describe()”, que funciona de igual forma que en Jasmine.

-      Matchers: Los matchers son las funciones utilizadas por el framework de test para comprobar si el valor esperado por la prueba automática coincide realmente con el obtenido.

-      Igualdad:

·         Las instrucciones para indicar igualdad o no son: toBe, not.toBe,toBeNull, toBeDefined, not.toBeUndefined, not.toBeTruthy, toBeFalsy, toEqual(para objetos y listas.) o toContain(para listas especificamente)

-      Watch mode: Si se lanza en este modo , los tests se van ejecutando cada vez que se cambia un fichero.

-      Mocking automatico: Las funciones simuladas le permiten probar los enlaces entre el código borrando la implementación real de una función, capturando llamadas a la función (y los parámetros pasados ​​en esas llamadas), capturando instancias de funciones de constructor cuando se crea una instancia

      •         .mock propiedad: Es una propiedad especial, donde se guardan los datos                 sobre cómo se ha llamado a la función y qué función devuelve.

-      Soporte para snapshot testing: Las pruebas de instantáneas son una herramienta muy útil siempre que desee asegurarse de que su interfaz de usuario no cambie inesperadamente.

-      Hacer tests sobre código que necesite tener disponible el DOM del navegador (React, Vue, Angular, etc) sin necesidad de levantar un navegador.


JASMINE Vs JEST

Jasmine

Jest

·         Es más adecuado para Angular.

·         No requiere de mucho código

·          Contiene herramientas integradas para hacer referencia a sus datos simulados en otras parte la prueba.

·        Los casos de prueba y aplicaciones se desarrollen desde la perspectiva de sus partes interesadas.

·         Sintaxis muy legible y fácil de usar

·          Es más adecuado para pruebas de React.

·         Bien documentada

·         Fácil de usar

·         No apto para principiantes.


Comentarios

Entradas populares