Gracias a la gente del MUG Argentina (http://www.mug.org.ar), dí una charla de dos horas sobre cómo es TDD, con un ejemplo en Visual Studio.
Desarrollamos algunos tests, cumpliendo con el ciclo rojo, verde, refactor, sobre una Factura con Productos y Cantidades. Pueden ver el código en:
https://github.com/ajlopez/TddOnTheRocks/tree/master/Ventas
Los commits, con la evolución paso a paso, están en
https://github.com/ajlopez/TddOnTheRocks/commits/master
Mencioné algunos posts en la charla. Son mis posts sobre TDD, pero destaqué:
Escribiendo un intérprete en .NET (Parte 10) donde van a ver un caso distinto y más extenso
TDD y Diseño de Implementación (1) donde voy a escribir sobre cómo queda simple el diseño de implementación usando TDD y la cabeza
TDD como Compilador para ver cómo TDD es el compilador de estos años: nos avisa cuando algo está mal, mucho mejor que los compiladores de lenguajes tipados
TDD y Base de Datos sobre alternativas de qué hacer cuando tenemos bases de datos en nuestros tests
TDD y Baby Steps sobre ¿cómo comerse un elefante? Pedacito a pedacito
TDD y el juego del Go sobre “el sistema está en buena forma” a cada momento, listo para abrazar el cambio y los próximos casos de uso.
TDD, Test Unitarios y Mocks sobre usar mocks solamente cuando es necesario.
TDD y Casos de Uso sobre cómo ir acompañando la implementación de casos de uso con TDD. Lean el post de “Uncle Bob” No DB
Escribiendo una Aplicación usando TDD (parte 5) sobre algunos pasos que se pueden dar con ASP.NET MVC
Para los que quieran ver cómo desarrollo partiendo de los controllers, en vez que desde el dominio de negocio, ver
Desarrollando una aplicación con TDD desde 0
donde por temas de tiempo, me salteé la evolución guiada por casos de uso. Pero ahí se ve cómo van surgiendo patrones, arquitectura, reparto de responsabilidades, pero PRIMERO LOS TESTS!
Para practicar, coleccioné algunos enlaces en:
http://delicious.com/ajlopez/tdd+codekata
Para aprender más:
https://delicious.com/ajlopez/tdd+tutorial
Para ejemplos en video:
https://delicious.com/ajlopez/tdd+video
Nos leemos!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez