TDD with C#
Barcamp STI
Noviembre 2013
Amhed A. Herrera
Vamos a COdear!
(pero primero 5 minutos mandatorios de teoría)
Qué es un Unit Test?
Un unit test (test unitario) es un pedazo de código automatizado que invoca una unidad de trabajo para verificar una asunción sobre como debería ser el comportamiento de dicha unidad de trabajo.
http://artofunittesting.com/definition-of-a-unit-test/
Que caracteriza un
"buen'
unit test?
- Independiente
- Repetible (idempotente)
- Automático
Test-Driven Development
Reacción comun
Parece al reves, pero no
- Es más trabajo al inicio, pero reduce la cantidad total de horas invertidas en el proyecto
- Como los tests pueden correr automatizados, permite detectar errores a tiempo, antes de pasar un app a producción
- Le quita el miedo a los developers: ¿Qué pasa si este cambio daña el App entero?
Desarrollo de un app
(Dominó Dominicano)
Cosas a tomar en cuenta
-
Solo programaremos la lógica de desarrollo, no el UI
- No podremos programar el App entero en 45 mins.
- El objetivo es mostrar los beneficios del método
- Hay muchos frameworks. Para este ejemplo usaremos MSTest, que viene instalado en Visual Studio
- Al final de la charla les doy el repositorio en Github
Vamo arriba!
Referencias
- The art of unit testing -
-
Ejemplo práctico de unit testing con números romanos:
-
Pluralsight courses on unit testing
- Algunos libros
Te gustó?
Puedes descargar el código de esta presentación y contribuir/ampliar los ejemplos:
TDD With C#
By Ahmed Ayub
TDD With C#
- 2,371