Buenas, underc0ders.
Hoy les traigo un framework para bash que permite probar que los scripts que escriben para UNIX funcionen de la manera esperada.
De manera muy basica explicaré como funciona:
Como primer paso, tenemos que instalar bats en la maquina que correrá los tests:
Luego definimos un archivo bats, el cual deberá ser escrito con una sintaxis particular para definir los test cases.
En mi caso, llamaré el archivo addition.bats
Utilizando el ejemplo del repositorio oficial, unos tests cases muy simples se definirian así:
Nota: tenemos que avisarle al archivo bats que el interprete que tiene que utilizar es bats y no bash:
Luego, utilizamos bats para ejecutar el file con los tests:
Personalmente, me sirvió mucho para probar que los outputs de un CLI personalizado fueran los esperados y además que se pudiera instalar en la maquina de forma exitosa (si se utiliza la función setup de bats, se ejecutará una función para setupear el ambiente cada vez que se corran los tests y fallará si la salida del script es igual a 1).
El framework ofrece muchisimas cosas mas como librerias que se pueden cargar con un load que permiten hacer asserts muchos mas complicados.
Un test un poco mas producido podria ser, un test que crea un virtual environment en python3 y llama a un paquete para que corra determinados comandos desde un cli:
NOTA: las librerias de assert deben ser descargadas e incluidas en el proyecto para poder ser cargadas con un load
Espero sea util para alguien, saludos!
Link del repositorio oficial: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hoy les traigo un framework para bash que permite probar que los scripts que escriben para UNIX funcionen de la manera esperada.
De manera muy basica explicaré como funciona:
Como primer paso, tenemos que instalar bats en la maquina que correrá los tests:
Luego definimos un archivo bats, el cual deberá ser escrito con una sintaxis particular para definir los test cases.
En mi caso, llamaré el archivo addition.bats
Utilizando el ejemplo del repositorio oficial, unos tests cases muy simples se definirian así:
Nota: tenemos que avisarle al archivo bats que el interprete que tiene que utilizar es bats y no bash:
Luego, utilizamos bats para ejecutar el file con los tests:
Personalmente, me sirvió mucho para probar que los outputs de un CLI personalizado fueran los esperados y además que se pudiera instalar en la maquina de forma exitosa (si se utiliza la función setup de bats, se ejecutará una función para setupear el ambiente cada vez que se corran los tests y fallará si la salida del script es igual a 1).
El framework ofrece muchisimas cosas mas como librerias que se pueden cargar con un load que permiten hacer asserts muchos mas complicados.
Un test un poco mas producido podria ser, un test que crea un virtual environment en python3 y llama a un paquete para que corra determinados comandos desde un cli:
NOTA: las librerias de assert deben ser descargadas e incluidas en el proyecto para poder ser cargadas con un load
Espero sea util para alguien, saludos!
Link del repositorio oficial: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta