Pruebas unitarias
(This is a reprint of the original post)
Hoy he terminado de leer JUnit in action, que me ha gustado bastante más que el libro de la semana pasada. Nada más terminarlo, he hecho el miniexamen.
En Zinc escribi cientos de pruebas unitarias (565, concretamente) con HUnit. Tengo sentimientos enfrentados respecto a esta técnica. Por un lado, a veces es muy incómodo escribirlas, sobre todo cuando hay que preparar estructuras de datos (u objetos, en el caso de Java) complejas. En otras ocasiones es divertido escribirlas, sobre todo si se hace antes de escribir el código. En el caso de Zinc, eso no siempre sucedió, porque muchas de las pruebas se escribieron para ejercitar (y aprender el funcionamiento de) el código heredado. Los más firmes defensores de las pruebas unitarias dicen que las pruebas unitarias dan el coraje necesario para realizar refactorizaciones sin miedo. Sin embargo, en otros momentos también suponen un incordio para modificar el código con agilidad. Particularmente, en Zinc la principal fuente de coraje son los tests de regresión (pruebas funcionales, también unos 500), aunque quizás el motivo sea el tipo tan peculiar de aplicación: un compilador.
En cualquier caso, el libro me ha gustado, cubre muchos aspectos con gran profundidad, siempre a través de ejemplos y llevando al lector de la mano.