¿Cómo empecé con PHPUnit y Docker?
Hace unos días estuve modificando un código en PHP, y como vi que podía tornarse un poco difícil de mantener, decidí hacer unos tests unitarios. Para eso usé phpunit. Como necesitaba algo rápido y no quería instalar nada en mi pc, me puse a buscar si ya había alguna imagen de docker con todo listo para poder empezar a testear. Afortunadamente la encontré en este repositorio.
Paso a paso:
- docker pull phpunit/phpunit
- Tenemos que armar un proyecto que tenga la estructura adecuada para usar phpunit. Preparé un pequeño proyecto de ejemplo en el que vamos a basarnos.
- Dentro del proyecto encontramos 3 archivos:
- phpunit.xml: aquí le indicaremos a phpunit qué es lo que tiene que correr y dónde está ubicado
- MyCalculator.php: nuestra clase “productiva”. Aquí declaramos la clase MyCalculator , en la que pondremos un método llamado sumar
- MyCalculatorTest.php: nuestra clase de test., que invocará a la clase productiva, y hará las aserciones necesarias
- La imagen trae instrucciones para Linux, pero si estamos en windows, nos situamos en la raíz de nuestro proyecto y ejecutamos docker run -v [PATH_ABSOLUTO_PROYECTO]:/app –rm phpunit/phpunit tests
- Si todo va bien, deberíamos ver correr el test de ejemplo del proyecto
Consejos importantes para que todo funcione:
- No olvidar traer las dependencias de php unit en nuestras clases de test: use PHPUnit\Framework\TestCase;
- Nuestras clases de test deben extender TestCase
- Los nombres de nuestras clases de test deben terminar con la palabra “Test”. Ejemplo: MyCalculatorTest
- Los nombres de nuestros métodos de test deben empezar con la palabra “test”. Ejemplo: test_sumar_con2y3_retorna5