PHPUNIT | Primeros pasos

Que es?

Estamos acostumbrados a desarrollar aplicaciones con grandes pedazos de código que a la hora de testear es bastante complicado y confuso. Optamos por testear con cientos de clikcs en la interfaz gráfica, lo que hace que perdamos mucho tiempo y que dejemos pasar muchos errores

Una manera de facilitarnos la vida y poder depurar y corregir errores mas fácil es creando pruebas de unidad a nuestro código, es decir, es mas sencillo si nuestras funciones kilometricas que hacen cientos de operaciones, if, case, etc, las transformamos en métodos mas pequeños que reciben parámetros y devuelven resultados específicos los cuales testearemos, de esta manera ya estamos hablando de pruebas de unidad.

¿Como funciona?

PHPUnit es un framework que nos permite llevar a cabo estas pruebas de unidad a nuestro código, para ello cuenta con un gran numero de métodos/asserts que nos permite hacer chequeos a nuestro código.

¿Como se instala?

Para instalarlo solo necesitas descargar el archivo phpunit.phar y colocarlo en el $PATH del sistema.

Para linux el método mas sencillo es el siguiente:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
mv phpunit.phar /usr/local/bin/phpunit

phpunit --version
PHPUnit 4.1.0 by Sebastian Bergmann.

Para windows realizar lo siguiente:

  • Descargar el ejecutable phpunit.phar y guardarlo donde queramos
  • Agregar el ejecutable phpunit.phar a el $PATH de windows

Probar la instalación con:

phpunit --version
PHPUnit 4.1.0 by Sebastian Bergmann.

También puedes utilizar inmediatamente el archivo phpunit.phar sin colocarlo en el $PATH del sistema de la siguiente manera:

php phpunit.phar --version
PHPUnit 4.1.0 by Sebastian Bergmann

Consejos

Para utilizar el framework es recomendable seguir los siguientes consejos para facilitar el entendimiento de lo que estamos haciendo:

Nuestra clase de prueba siempre extiende a la clase PHPUnit_Framework_TestCase. Esto nos dará acceso a ciertas funcionalidades como los métodos/asserts para las pruebas.

El nombre de la clase de prueba debe imitar el nombre de la clase que se esta probando. Por ejemplo, para probar miClase, utilizaremos miClaseTest.

Al crear métodos de prueba, es necesario que empiecen con la palabra test, como testMiPrueba().

Los métodos deben ser públicos. Podemos tener métodos privados en las pruebas, pero no se podrán ejecutar como pruebas por PHPUnit.

Los métodos de prueba no recibirán ningún parámetro. Cuando escribamos las pruebas, es necesario que sean lo más autónomas posibles. Esto puede ser frustrante a veces, pero nos proporcionará unas pruebas más limpias y eficaces.

Mas adelante les mostraremos un ejercicio que ejemplifique como utilizar este framework.