Me puse a investigar mas de BDD y TDD (Behavior Driven Development y Test Driven Development) y quede retomando el tema de Mocks. Realmente nunca he usado Mocks para TDD.
Sin embargo encontre este excelente y provocativo articulo, llamado Test Driven Design: Using Mocks And Tests To Design Role-Based Objects. Lo lei todo (s lei todo esta vez, nada de skip) y quiero decirles que esto parece ser el futuro. Realmente le falta un poco mas, pero podriamos decir que con ideas de BDD / Cucumber, podriamos crear un tipo de metodologia para transformar un requerimiento en pruebas y mocks.
Feature (estilo Cucumber) + TDD Mock driven Interface Design + Hand Coding = Software
Hay que probarlo, pero esto realmente sirve para crear robots web. Cuando yo creo un robot web los pasos son:
- Manualmente try and test el URL
- Crear código esqueleto (framework)
- Agregar lógica de negocio (Business Logic)
- Crear prueba / test
- Ejecutar pruebas / test
Con esto, se cambia a:
- Crear prueba / test
- Crear funcionalidad
- Crear código esqueleto
- Agregar lógica de negocio
- Ejecutar pruebas
Enlaces adicionales:
Responsibility Driven Design with Mock Objects