Estoy mirando una pequeña base de código C # (.NET 4.0, algo de Silverlight) (~ 70kLOC incluyendo generado) que tiene una cobertura de prueba muy baja. El código en sí funciona porque ha pasado las pruebas de aceptación del usuario, pero es frágil y en algunas áreas no está muy bien factorizado. Me gustaría agregar una cobertura de prueba de unidad sólida alrededor del código heredado utilizando los sospechosos habituales (NMock, NUnit, StatLight para los bits de Silverlight).
Mi enfoque normal es comenzar a trabajar en el proyecto, las pruebas unitarias y la refactorización, hasta que esté satisfecho con el estado del código. Lo he hecho muchas veces en el pasado y funcionó bien.
Sin embargo, esta vez estoy pensando en usar un generador de prueba (en particular, Pex ) para crear el marco de prueba, y luego desarrollarlo manualmente.
Mi pregunta es: ¿ha utilizado generadores de pruebas unitarias en el pasado al comenzar a trabajar en una base de código heredada y, de ser así, los recomendaría?
Mi temor es que las pruebas generadas pierdan los matices semánticos de la base de código, lo que lleva a la temida situación de tener pruebas por la métrica de cobertura, en lugar de pruebas que expresan claramente el comportamiento previsto en el código.