An Interest In:
Web News this Week
- March 22, 2024
- March 21, 2024
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
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.
Cmo te ayudan las pruebas unitarias
Hay cuatro razones por las que escribir pruebas te facilitar la vida a la hora de codificar:
- 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.
- 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.
- 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.
- 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.
Mantener una estructura
Como podrs ver, en cada prueba ocurren muchas cosas. Se pueden distinguir tres fases principales:
- Configuracin de los mocks
- Ejecucin del cdigo que se quiere comprobar
- 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.
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
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To