Quiero comenzar a usar TDD. ¿Algún consejo para un principiante? [cerrado]

27

Nunca utilicé un mecanismo de prueba automatizado en ninguno de mis proyectos y siento que me falta mucho. Quiero mejorarme a mí mismo, así que tengo que comenzar a abordar algunos problemas que he estado descuidando de esta manera y probar Git en lugar de estar atascado en SVN.

¿Cuál es una buena manera de aprender TDD? Probablemente usaré Eclipse para programar en Java. He oído hablar de JUnit, pero no sé si hay algo más que deba considerar.

Mike42
fuente

Respuestas:

15

Podrías comenzar trabajando en la codificación de katas . Elija un algoritmo (por ejemplo, conversión de números decimales a romanos, puntuación de un juego de bolos, juego de la vida de Conway, etc.) e intente utilizar TDD para trabajar en la solución.

Es probable que la estructura de su solución sea muy simple (mucho más simple que su código de producción del mundo real): una clase para el dispositivo de prueba y una clase que contiene el algoritmo bajo prueba. Y la clase bajo prueba que no tiene dependencias es otra ventaja. Puede utilizar la simplicidad de esta configuración para familiarizarse rápidamente con el bucle refactor rojo-verde.

La herramienta que use para sus katas TDD realmente no importa siempre y cuando se apegue a los principios. Sin embargo, el complemento JUnit para Eclipse es muy fácil de usar, por lo que es una excelente opción.

azheglov
fuente
8

Familiarícese con AAA , lea sobre esto, lea sobre los problemas que vienen con el desarrollo basado en pruebas ( diseño para pruebas frente a herramientas de alto costo para que el diseño no importe). Aprenda la inyección de dependencias para que la eliminación de dependencias externas para las pruebas sea más simple.

Aquí hay una buena descripción de las notas que tomé mientras leía El arte de las pruebas unitarias

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html

Maslow
fuente
1
+1 por recomendar The Art of Unit Testing. En mi opinión, uno de los mejores libros para explicar las pruebas unitarias sin asustar a los lectores.
Anne Schuessler
6

Realmente no hay sustituto para simplemente agarrar un arnés de prueba (como NUnit), leer algo de la literatura y luego ensuciarse las manos.

Como James T. Kirk dijo una vez: "Aprendemos haciendo".

Chris Holmes
fuente
-3

Mira este enlace . Es el blog de Bob Martin sobre TDD: excelente material para hacerle entender (o darle otra perspectiva) pensar en TDD.

Ratkok
fuente
2
El eslogan del blog, en las propias palabras del tío Bob, es "Escritos sobre código limpio, diseño y todo lo relacionado con el software". El contenido del blog es mucho más amplio que "cualquier consejo para principiantes [en TDD] de OP".
azheglov