Test-First Programming ¿en Bash & Shell Scripting?

Hace unos días, me sorprendí notablemente cuando Jorge, mi compañero del Sudacas Team, me comentó que investigando sobre TDD, terminaba de encontrar un framework para Unit Testing en Bash y Shell Scripting.

Sin pérdidas de tiempo, inmediatamente fui a ver de que se trataba shUnit2, el framework para Test Unitarios en Bash y Shell Scripting.

Resulta que shUnit2 está basado en jUnit y entre otros Sistemas Operativos, soporta GNU/Linux, FreeBSD y OpenSolaris. Cabe destacar que posee una lista aceptable de asserts y soporta métodos setUp() y tearDown().

La última versión estable (al 22 de enero de 2012) es la 2.0.3 (que data de 2007) y a la fecha, se encuentra en desarrollo la versión 2.1.x. Lógicamente, se distribuye con licencia LGPL (Software Libre) y se encuentra perfectamente documentado y con sus FAQ correspondientes.

shUnit2 en Debian GNU/Linux

Se puede instalar mediante :~# aptitude install shunit2 u obtener el binario de la versión estable (.deb).

Guías, tutoriales y manuales de shUnit2

  • Shell Unit Testing by Maciej Bliziński | PDF

Un ejemplo simple

Un test simple sobre una función que suma dos números pasados como parámetros.

sumar_dos_numeros.sh (el archivo a testear)

sumar_dos_numeros_test.sh (el test)

Al ejecutar sumar_dos_numeros_test.sh, correrá el Test, arrojando un resultado como el siguiente:

eugeniabahit

GLAMP Hacker espcializada en Ingeniería Inversa de Código sobre entornos GNU/Linux. Programadora eXtrema con enfoque en TDD, Python, PHP y Shell Scripting. Miembro de la Free Software Foundation, de la Linux Foundation y parte del equipo de Debian Hackers.

2 thoughts on “Test-First Programming ¿en Bash & Shell Scripting?

  1. Vaya bueno Eugenia, mejor comienzo no podías tener, por cierto, te mando recuerdos de un colega (wakaru) que está ahora conmigo y vio tu conferencia en Chile, dice que eres una crack -;)

    Abrazos !!

Comments are closed.