Pruebas unitarias con Adonis.js
Leer en blog oficial (elihu.dev): Adonis Introducción
Las pruebas en el desarrollo de software constituyen uno de los pilares al momento de desarrollar un producto. Sin embargo en ocasiones implementar pruebas en un software puede involucrar diferentes herramientas, que a su vez demandan tiempo, investigación y configuración.
Cuando comenzamos a utilizar Adonis.js algo que podemos notar, es que incluye múltiples que permite al desarrollador economizar tiempo.
Es por eso que Adonis integra un modulo para implementar pruebas unitarias en tu aplicación y para este caso una API REST.
Comenzamos con la configuración
Para comenzar a utilizar pruebas unitarias en Adonis deberemos incluir el módulo de pruebas llamado “Vow” que nos ayudará a realizar la creación y ejecución de pruebas.
Ejecutando el comando:
Al hacer esto, nos desplegará una nueva pestaña en nuestro navegador con las instrucciones, para agregar el módulo en nuestra aplicación. Básicamente registrar el modulo en start/app.js agregando la cadena la lista de providers.
Con esto tenemos todo listo para comenzar a utilizar los test.
Al agregar el módulo, se integran funciones en adonis CLI para crear pruebas y ejecutarlas, principalmente.
Crear una prueba unitaria
Ahora, una vez configurado el proyecto, ejecutaremos el comando
Lo que nos generará un archivo “user-login.spec.js” en la carpeta test/unit
Ahora iniciaremos a crear un ejemplo donde validaremos cuando el email que el usuario envío, no existe.
Nota. Antes de ejecutar la prueba, debemos ejecutar las migraciones. adonis migration:run
Para eso realizaremos la creación de un registro de usuario utilizando el modelo User. Y enviando una petición HTTP con el cliente que el test nos provee. Este cliente enviara una acción POST en donde enviaremos las credenciales incorrectas.
Y ejecutaremos la prueba con el comando
Obteniendo nuestro respectivo error, debido a que aun no hemos implementado el código que resuelva esta prueba.
Luego de obtener nuestro primer resultado, es tiempo de crear el código necesario para satisfacer las necesidades de esta prueba.
Iniciaremos creando un controlador llamado “Auth” que manejara todo lo relacionado con autenticación.
Y dentro del codificar la funcionalidad del controlador:
Y con esto podremos ejecutar nuevamente las pruebas para verificar que todo se ha realizado correctamente.
Conclusion
Implementar pruebas unitarias en tu proyecto contribuye a mejorar la calidad del código que generas para un producto. Establece buenas prácticas dentro tu equipo de desarrollo y ayuda a pensar claramente. La implementación pruebas en Adonis cuenta con una adopción simple y bastante consistente.
Ahora no olvides respaldar tu producto con pruebas en adonis.