Estrategias para escribir mejores test

Hace tiempo, odiaba escribir test, me resultaban una perdida de tiempo. Y si empezaba a escribirlos, rápidamente los dejaba de lado porque me resultaban lentos.

Y el problema era que no sabía como escribir tests. Ahora me encanta escribir test, es más, me siento un poco incómodo si no tengo unos pocos tests para ver si todo está funcionando bien (al menos el «happy-path»).

Voy a contarte algunos trucos que me ayudan a la hora de escribir test, ¿compartes tu también los tuyos?

Key Strategies For Ensuring Skillful Auto Repair Work

Continúa leyendo «Estrategias para escribir mejores test»

Haciendo TDD en PHP con Silex y PhpUnit (Parte 1)

Hace ya bastante tiempo que en el blog estamos hablando sobre PhpUnit, TDD e incluso hemos nombrado a Silex, creo que ya va siendo hora de crear un pequeño proyecto en el que aplicar todo esto. Llevo ya unos días trabajando sobre mi cuenta de github (https://github.com/jeslopcru) en un pequeño proyecto PHP donde utilizo Silex, PHP y TDD. Es solo una pequeña prueba de concepto para ver que es posible hacer TDD utilizando Silex y por tanto también podría ser posible hacer TDD utilizando Symfony2.

En este proyecto montaremos todo el entorno utilizando Composer junto PhpUnit y symfony/browser-kit (para poder hacer tests funcionales a los controladores symfony). También utilizaremos monolog para los logs. Así que vamos manos a la obra.

Información acerca del proyecto

Vamos a crear una calculadora con la que podremos hacer operaciones básicas, para utilizarla haremos uso del navegador, es decir, como URL utilizaremos algo así http://www.example.com/add?numberA=2&numberB=3 y la respuesta será la suma de ambos parámetros.
Si, es cierto, en un primer momento no parece un gran proyecto, pero lo importante de esto es que construiremos todo esto utilizando el microframework Silex y trabajando mediante TDD.

Creando el proyecto

Para crear el proyecto lo más cómodo es utilizar una herramienta como virtualhost.sh. Este script permite crear toda la configuración necesaria para crear un crear un site en Apache, mapear la dirección en etc/hosts y configurar el log de apache. Para instalarlo solo tenemos que abrir un terminal y escribir brew install virtualhost.sh

Continúa leyendo «Haciendo TDD en PHP con Silex y PhpUnit (Parte 1)»