Pruebas unitarias con Adonis.js

Elihu A. Cruz
3 min readMay 15, 2019

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.

Integramos el módulo dentro de nuestra 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.

Si ejecutamos el comando adonis test help, obtendremos todas las funciones disponibles.

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

Utiliza la extensión spec.js.

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.

Primera fase del TDD “El error inicial”

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.

Pruebas listas y funcionales

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.

--

--