Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 27, 2022 04:54 am GMT

Cmo escribir pruebas unitarias

Como programador principiante, a menudo escuchars que es conveniente probar tu cdigo. Es un buen consejo - veamos cmo puedes empezar a hacerlo!

Qu son las pruebas unitarias

Las pruebas son una forma de fijar explcitamente expectativas sobre el cdigo. Las estableces para que la mquina compruebe si tu cdigo cumple con las expectativas.

Es un programa que verifica tu programa.
Normalmente, en los proyectos de JavaScript, usars alguna biblioteca de pruebas, como:

  • Jest,
  • Jasmine, o
  • Chai

Pero stas son slo herramientas. Lo que importa es que tengas alguna forma de validar automticamente tu aplicacin.

Image description

Cmo te ayudan las pruebas unitarias

Hay cuatro razones por las que escribir pruebas te facilitar la vida a la hora de codificar:

  1. Es una forma rpida y fiable de comprobar si el cdigo funciona como se esperaba. No tienes que pensar en casos lmite para tenerlos todos cubiertos por pruebas unitarias.
  2. Una buena cobertura de pruebas es una red de seguridad que te permite refactorizar el cdigo con ms arrojo. As es ms probable que tomes las medidas necesarias para mantener tu cdigo base en buenas condiciones.
  3. Escribir pruebas unitarias te obliga a pensar en las unidades y en cmo se debe repartir la carga entre ellas, lo que hace que tu cdigo sea ms modular y ms fcil de mantener.
  4. Las pruebas unitarias pueden convertirte en un programador ms rpido. Al principio, tienes que invertir tiempo en crear el caso de prueba, pero una vez que est listo, puedes volver a ejecutarlo de forma muy econmica. La inversin puede pagar dividendos incluso durante el desarrollo inicial.

Construir un andamiaje

Antes de probar la funcionalidad, asegrate de que puedes probar cualquier cosa. Instala la biblioteca de pruebas y crea tu script de pruebas. Una vez que tengas algo en marcha, puedes empezar a configurar el andamiaje para algunas de tus pruebas. Tienes que tomar una decisin sobre la nomenclatura. Por ejemplo, si tu cdigo es mi-proyecto/plane-ticket.js, tu cdigo de pruebas puede ubicarse en mi-proyecto/plane-ticket.spec.js.

Construye todo lo necesario para probar una clase cualquiera y luego comprueba algunos aspectos comunes:

  • si un objeto es un objeto, o
  • si una funcin es una funcin

De esta manera, demostrars que puedes probar cosas.

Configurar los mocks

Los mocks son objetos creados para reemplazar las dependencias de la unidad que ests probando. Por ejemplo, si pruebas la funcin saveBlogPost, querrs interceptar la peticin HTTP antes de que la funcin la enve. Querrs averiguar qu utiliza tu funcin para enviar la peticin y sustituirlo por un mock. Esto debera ser fcil si construyes tu cdigo usando un patrn de inyeccin de dependencia.

Image description

Mantener una estructura

Como podrs ver, en cada prueba ocurren muchas cosas. Se pueden distinguir tres fases principales:

  1. Configuracin de los mocks
  2. Ejecucin del cdigo que se quiere comprobar
  3. Comprobacin de las expectativas

Es lgico mantener esta separacin en tu cdigo; ser ms fcil de leer de esta manera. Una forma fcil de organizarlo es agrupando todas las lneas y quizs aadiendo un comentario especificando de qu parte se trata.

Desarrollo guiado por pruebas

El desarrollo guiado por pruebas es un procedimiento comn para crear un buen cdigo con una buena cobertura de pruebas. Empiezas aadiendo una prueba para una funcin antes de que se implemente. Ejecutadas las pruebas, debera de fallar - si no es as, algo grave estar pasando y tendrs que investigar qu es. Las pruebas fallan y agregas al cdigo la implementacin que falta. Una vez ms, se espera que esto por s solo solucione el fallo. Si todo va bien, inviertes un poco de tiempo en optimizar tu solucin, tanto en el cdigo como en las pruebas, sin cambiar la lgica. Esta forma de proceder te permite iterar rpidamente en la creacin del cdigo y sus pruebas.

Si sigues esta prctica, nunca se te podr escapar ninguna prueba para tu lgica. No tendrs la tentacin de saltarte la escritura de pruebas, un problema comn cuando se deja la escritura de pruebas para el final.

Image description

Contra-recomendacin

Para ser un lder, hay que saber a dnde vas. Deja de lado las pruebas durante un tiempo si necesitas explorar qu soluciones son factibles. Una vez que tengas claro el camino, puedes agregar pruebas o abordar el problema de nuevo de una manera guiada por pruebas.

Pruebas que faltan

Si tienes mala suerte, puede que ests trabajando con cdigo heredado sin pruebas ni otras medidas de calidad, algo as como lo que describo aqu. En tal caso, ms vale tarde que nunca; puedes empezar a escribir pruebas a medida que trabajas con el cdigo base. De esta manera, mejoras la situacin de cara a un futuro y en algunos casos excepcionales, tal vez encuentres algn error oculto.

Y t?

Cmo de difcil te parece aprender a probar? He visto quejas en Internet de personas a las que les cuesta encontrar buenos recursos para ello. Cuntame qu experiencias has tenido hasta ahora.


Original Link: https://dev.to/conoce-dev/como-escribir-pruebas-unitarias-28gd

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To