Preguntas etiquetadas con tdd

TDD son las siglas de Test-Driven Development o Test-Driven Design. Es la práctica de escribir una prueba unitaria antes de escribir el código para satisfacerlo, en lo que se conoce como el ciclo Rojo-Verde-Refactor.

147
¿Cuándo escribes el código "real" en TDD?

Todos los ejemplos que he leído y visto en videos de capacitación tienen ejemplos simplistas. Pero lo que no veo es cómo hago el código "real" después de que me ponga verde. ¿Es esta la parte "Refactor"? Si tengo un objeto bastante complejo con un método complejo, y escribo mi prueba y el mínimo...

139
¿Cuándo es apropiado no realizar pruebas unitarias?

Trabajo en una pequeña empresa como desarrollador en solitario. Soy el único desarrollador de la compañía, de hecho. Tengo varios proyectos (relativamente) grandes que he escrito y mantengo regularmente, y ninguno de ellos tiene pruebas para respaldarlos. Cuando comienzo nuevos proyectos, a menudo...

139
¿Existe tal cosa como tener demasiadas pruebas unitarias?

Me encargaron escribir pruebas unitarias para una aplicación existente. Después de terminar mi primer archivo, tengo 717 líneas de código de prueba para 419 líneas de código original. ¿Esta relación se volverá inmanejable a medida que aumentemos la cobertura de nuestro código? Mi comprensión de...

131
TDD vs. Productividad

En mi proyecto actual (un juego, en C ++), decidí que usaría Test Driven Development 100% durante el desarrollo. En términos de calidad del código, esto ha sido excelente. Mi código nunca ha sido tan bien diseñado o tan libre de errores. No me avergüenzo al ver el código que escribí hace un año al...

110
¿Qué es exactamente una prueba de integración?

Mis amigos y yo hemos estado luchando por clasificar exactamente qué es una prueba de integración. Ahora, de camino a casa, me di cuenta de que cada vez que trato de dar un ejemplo del mundo real de una prueba de integración, resulta ser una prueba de aceptación, es decir. algo que una persona de...

104
¿TDD hace redundante la programación defensiva?

Hoy tuve una discusión interesante con un colega. Soy un programador defensivo. Creo que siempre debe respetarse la regla " una clase debe garantizar que sus objetos tengan un estado válido cuando interactúan desde fuera de la clase ". La razón de esta regla es que la clase no sabe quiénes son sus...

103
¿Es el código comprobable mejor código?

Estoy tratando de acostumbrarme a escribir pruebas unitarias regularmente con mi código, pero he leído que primero es importante escribir código comprobable . Esta pregunta toca los principios SÓLIDOS de escribir código comprobable, pero quiero saber si esos principios de diseño son beneficiosos (o...

101
¿Debo evitar métodos privados si realizo TDD?

Ahora estoy aprendiendo TDD. Entiendo que los métodos privados no son verificables y no deberían preocuparse porque la API pública proporcionará suficiente información para verificar la integridad de un objeto. He entendido OOP por un tiempo. Entiendo que los métodos privados hacen que los objetos...

94
TDD experiencia negativa [cerrado]

¿Cuál es el lado negativo de su experiencia TDD? ¿Le parecen molestos e inútiles los pequeños pasos (la solución más simple para hacer que la prueba sea verde)? ¿Encuentra pruebas sin valor (cuando la prueba tiene sentido inicialmente pero en la implementación final verifica la misma lógica que...

92
¿Por qué funciona TDD? [cerrado]

El desarrollo basado en pruebas (TDD) es grande en estos días. A menudo lo veo recomendado como una solución para una amplia gama de problemas aquí en Programmers SE y otros lugares. Me pregunto por qué funciona. Desde el punto de vista de la ingeniería, me desconcierta por dos razones: El...

88
¿Cuáles son las escuelas de TDD en Londres y Chicago?

He estado escuchando sobre el estilo de Londres frente al estilo de Chicago (a veces llamado estilo de Detroit) de Test Driven Development (TDD). Taller del grupo de usuarios de Utah Extreme Programming: El estilo de interacción TDD también se llama estilo burlón o estilo londinense después del...

68
Escribir pruebas para el código existente

Suponga que uno tiene un programa relativamente grande (digamos 900k SLOC en C #), todos comentados / documentados a fondo, bien organizados y funcionando bien. Todo el código base fue escrito por un único desarrollador senior que ya no está en la compañía. Todo el código se puede probar tal cual y...

62
¿Deberíamos probar todos nuestros métodos?

Así que hoy tuve una conversación con mi compañero de equipo sobre las pruebas unitarias. Todo comenzó cuando me preguntó "oye, ¿dónde están las pruebas para esa clase, solo veo una?". Toda la clase era un gerente (o un servicio si prefieres llamarlo así) y casi todos los métodos simplemente...