Herramientas para Pruebas Unitarias
Herramientas para Pruebas Unitarias
¿Que es una pruebas unitarias?
En programación, una prueba unitaria es una forma de comprobar el correcto
funcionamiento de una unidad de código. Por ejemplo en diseño estructurado o
en diseño funcional una función o un procedimiento, en diseño orientado a
objetos una clase. Esto sirve para asegurar que cada unidad funcione
correctamente y eficientemente por separado. Además de verificar que el
código hace lo que tiene que hacer, verificamos que sea correcto el nombre,
los nombres y tipos de los parámetros, el tipo de lo que se devuelve, que si
el estado inicial es válido, entonces el estado final es válido también.
La idea es escribir casos de prueba para cada función no trivial o método en
el módulo, de forma que cada caso sea independiente del resto. Luego, con
las Pruebas de Integración, se podrá asegurar el correcto funcionamiento del
sistema o subsistema en cuestión.
¿Qué es Jasmine?
Jasmine es una suite de testing que sigue la metodología Behavior Driven
Development. Tiene cosas muy buenas como que no requiere un DOM para hacer
los tests y la sintaxis es bastante sencilla de entender.
¿Qué es Karma?
Karma es el test-runner, es decir, el módulo que permite automatizar algunas
de las tareas de las suites de testing, como Jasmine. Karma, además, ha sido
desarrollado directamente por el equipo de Angular, lo cual, en cierto modo,
nos da alguna garantía de que va a seguir existiendo de aquí a un tiempo,
por lo que parece una buena opción.
Se puede ver que con estos dos elementos ya tenemos preparado nuestro
entorno para poder añadir tests a nuestra aplicación. Entrando un poco más
en detalle, vamos a recordar un poco por encima los distintos tipos de tests
que podemos usar. Principalmente usaremos dos, tests unitarios y tests de
integración.
Tests unitarios
Los tests unitarios normalmente nos van a permitir testear elementos
individuales. Podemos usarlos, y normalmente lo haremos, para testear
modelos y, en multitud de ocasiones, para comprobar que los objetos se
forman de forma correcta.
Tests de integración
Los tests de integración nos van a permitir testear funcionalidades
complejas dentro de una aplicación, como por ejemplo el login. Podremos
crear los tests necesarios para evaluar si nuestra app está realizando la
función de login correctamente, así como si rechaza también de forma
correcta usuarios no autorizados. Este es un buen ejemplo de un test de
integración en el que intervienen varios elementos de nuestra app.
Cabe destacar que con Angular, desde hace unas cuantas versiones, no
necesitamos configurar nada adicional para que funcione la suite de testing.
Una vez creado el proyecto, tan solo será necesario ejecutar ng test y se
ejecutarán los primeros tests
Visitado el dia 05/08/2020
Comentarios
Publicar un comentario