He estado trabajando con TDD durante 2 años y donde trabajaba en ese momento, todos estábamos reacios a usar, incluidos los gerentes. Sin embargo, pronto se convirtió en lo correcto. Los beneficios que notamos pronto fueron
- Descubriendo errores en una etapa temprana.
- Escribir un mejor código sin siquiera darse cuenta.
- Su código ahora es más fácil de mantener ya que debido a sus pruebas, todo está en pequeños trozos (teníamos funciones que eran 300-400 líneas) tonto. Ahora máximo 30 y todo probado de forma independiente.
Los gerentes no sabrían, ya que todos están interesados en una cosa "¿Has terminado". Pero luego se quejan cuando el software sigue rompiéndose sin darse cuenta. Con una buena cobertura y pruebas sensatas. No es la cantidad sino la calidad lo que realmente se puede ver cuando alguien rompe una funcionalidad. Desafortunadamente, también es difícil si está solo. Tuve el mismo problema, ya que podría necesitar cambiar el código, por ejemplo, clases base, etc. para que pueda hacer que partes del software sean comprobables.
Les doy un ejemplo: quería burlarme del repositorio pero no había interfaz y necesito inyectar el repositorio en mi capa de servicio y, por lo tanto, agregar / modificar un constructor en toda la tienda, esto resultó ser un gran problema, pero en Al final tengo más de 200 pruebas solo probando un área del sistema y quedaron impresionados.
Usualmente hago lo siguiente:
- Mantengo mis pruebas de unidad muy cortas
- Solo 1 afirmación. No hay ruleta rusa.
- Pruebo un escenario positivo-negativo y de excepción
En cuanto a los estudios de casos, me temo que no estoy seguro de haber visto ninguno. Necesitas construir tu proyecto y convertirte en tu caso de estudio. También pueden quedar impresionados.
Espero que ayude