He estado programando durante 20 años, y prácticamente nunca he escrito una línea de código en la que no haya realizado algún tipo de prueba de unidad. Honestamente, sé que la gente lo hace todo el tiempo, pero cómo alguien puede enviar una línea de código que no ha tenido algún tipo de ejecución de prueba que está más allá de mí.
A menudo, si no existe un marco de prueba en su lugar, simplemente escribo un main() en cada clase que escribo. Agrega un pequeño fragmento a su aplicación, pero alguien siempre puede eliminarlo (o comentarlo) si lo desean, supongo. Realmente me gustaría que hubiera solo un método de prueba() en tu clase que compilara automáticamente las compilaciones de lanzamiento. Me encanta que mi método de prueba esté en el mismo archivo que mi código ...
Así que hice ambas cosas Desarrollo impulsado por prueba y desarrollo probado. Puedo decirte que TDD realmente puede ayudar cuando eres un programador principiante. Le ayuda a aprender a ver su código "desde afuera", que es una de las lecciones más importantes que un programador puede aprender.
TDD también lo ayuda a ponerse en marcha cuando está atascado. Puedes escribir una pieza muy pequeña que sabes que tu código tiene que hacer, luego ejecutarla y arreglarla, se vuelve adictivo.
Por otro lado, cuando está agregando código existente y sabe exactamente lo que quiere, es un lanzamiento. Su "Otro código" a menudo prueba su nuevo código en su lugar. Aún debe asegurarse de probar cada ruta, pero obtiene una buena cobertura simplemente ejecutando las pruebas desde el front-end (excepto en los idiomas dinámicos; para aquellos que realmente deberían tener pruebas unitarias para todo lo que sea).
Por cierto, cuando estaba en un proyecto bastante grande de Ruby/Rails teníamos un porcentaje muy elevado de cobertura de prueba. Refactorizamos una clase de modelo principal y central en dos clases. Nos habría llevado dos días, pero con todas las pruebas que tuvimos que refactorizar terminó cerca de dos semanas. Las pruebas NO son completamente gratis.
Por favor, hagan esta wiki comunitaria, ya que es más que una encuesta que una pregunta real. –
Esto debería ser una pregunta real, en lugar de otra encuesta más. Preferiría que Omar volviera a redactar la pregunta ligeramente para hacerla una pregunta adecuada, en lugar de una pregunta tipo encuesta. –
Estoy feliz de volver a redactar, aunque no estoy seguro de qué volver a pronunciar. –