En este post vas a aprender qué es el coverage en Jest y cómo puedes sacar provecho de una herramienta que realiza comprobaciones cuantitativas de los test sobre un programa. Esta herramienta, junto con otras de los softwares para testing, forman parte de los elementos del TDD o Test Driven Development.
¿Qué es el coverage en Jest?
El coverage es una utilidad que hace un análisis cuantitativo de cuánta parte de nuestro código está testada, por lo que pertenece a las herramientas del TDD o Test Driven Development y se puede realizar con Jest. En términos generales, el coverage es una medida de calidad de nuestros unit testing o pruebas unitarias.
El coverage nos permite sacar varias conclusiones respecto a los test que hemos realizado en nuestro programa, como la necesidad de realizar más test, que nos ayuda a determinar qué código de la app no se emplea y definir si se puede eliminar o no.
No obstante, el coverage en Jest es muy útil en términos específicos, ya que nos dice la valoración, pero no si el test está bien escrito. Es ahí cuando deberíamos pasar a un aspecto cualitativo, para saber si está bien hecho o no.
Este concepto deriva en una serie de preguntas que pueden ser contraproducentes si no se saben cómo resolverlas. Algunas de estas preguntas son:
- Para saber que testamos correctamente una aplicación, ¿debería tener el coverage al 100%?
- ¿Tendríamos que testar una función, que recibe una string o cadena, y evaluar el string con un switch?
- ¿Tendríamos que testar cada una de las salidas posibles de esa función?
Al final, en Jest un coverage es una carpeta que almacena un index.html y un CSS, que genera un contenido estático, en el que vamos a encontrar algunas respuestas a nuestras preguntas. Todos los programadores van a tener un acceso a una porción de este coverage. En el fichero HTML vamos a encontrar información adicional acerca del coverage de los test.
Cuando utilizamos la herramienta de Jest podremos obtener el coverage al ejecutar los test con el flag o comando –coverage. Vamos a visualizar una tabla en la terminal de nuestro IDE, donde se encontrarán las especificaciones acerca del porcentaje de código que sí está testado en cada uno de los archivos del desarrollo de la aplicación.
Esta herramienta también nos deja pintar otra serie de configuraciones. Por ejemplo, podemos especificar un mínimo de porcentaje. Entonces, hasta que los test no superen o lleguen hasta ese porcentaje no serán válidos en el resultado final.
Coverage en otras herramientas
El caso de Mocha es particular para realizar el coverage, ya que no tiene esta herramienta incluida. Por tanto, para la comprobación de los test, necesitamos una librería externa llamada Instanbul. Se trata de una librería enfocado en la realización de test de coverage.
En este post has podido aprender qué es el coverage en Jest, lo que te puede ayudar a comprobar, de forma cuantitativa, qué test has hecho sobre un programa y cuántos faltan por hacer.
Sin embargo, aún queda mucho más por aprender. Por eso, te queremos invitar a nuestro programa en Desarrollo Web Full Stack Bootcamp, que te llevará por las principales materias del desarrollo web para convertirte en un experto en cuestión de meses. ¡Entra ya y cambia tu futuro!