Post on 12-Jul-2015
¿Qué es TDD?
Es una técnica que consiste, básicamente, en apoyarnos en un test
automatizado existente para desarrollar nuestra lógica de negocio
@JuanmaGomeR
GREEN
Escribimos el MÍNIMO código que haga pasar el test automático que hemos
escrito (sale en verde)
GREEN
@JuanmaGomeR
REFACTOR
Modificamos la apariencia de nuestro código, pero nunca su
comportamiento. Aplicamos patrones de diseño, DRY, SOLID...
REFACTOR
@JuanmaGomeR
¿Cómo TDDear?
Por tanto, definimos estado inicial, estado que esperamos, y obtenemos el
estado final
@JuanmaGomeR
Baby Steps
El primer test será el que ejemplifique el caso más sencillo. Cuando lo
pasemos, habremos dado soporte a una primera casuística
@JuanmaGomeR
Baby Steps
En el siguiente test, daremos un pasito adelante, planteando una casuística un pelín más compleja, el siguiente paso
natural
@JuanmaGomeR
Baby Steps
Y así seguiremos avanzando, de forma que consigamos abarcar la mayor cantidad de casuísticas posibles
@JuanmaGomeR
Triangulación
Llegará un momento en que triangulemos para encontrar un patrón
de comportamiento
@JuanmaGomeR
Tras cada refactor
Es esencial pasar de nuevo los tests tras cada refactor para ver que nada
ha dejado de funcionar
@JuanmaGomeR
Si otro día modifico lógica de negocio
Modificar los tests afectados por los nuevos requerimientos (si fuera
necesario)
@JuanmaGomeR