Algo que noté recientemente es cuando estoy haciendo los siguientes tipos de proyectos:
- Al comenzar un proyecto
- Trabajando en un MVP / prototipo
- Agregar características que no están completamente definidas
- Trabajando en un proyecto de menor escala
Como referencia, ahora estoy trabajando en un proyecto de Python que actualmente tiene ~ 1k líneas de código, incluidos algunos comentarios y todos los espacios en blanco.
Me resulta inmensamente más fácil escribir primero las pruebas de integración, trabajar en el código y luego, una vez que la API se endurece, realmente funciona para agregar pruebas unitarias. Los tipos de pruebas que puedo ejecutar en mi mainfunción, por así decirlo, son más "de principio a fin" que cualquier otra cosa.
Esto se debe a que las pruebas unitarias son realmente molestas cuando una API está cambiando con bastante rapidez, que a menudo es el caso cuando se trabaja en un proyecto que coincide con alguno o la mayoría de los criterios anteriores.
¿Es este enfoque un buen enfoque y qué criterios deben considerarse al tomar la decisión de comenzar primero con pruebas unitarias o de integración para este tipo de proyectos? ¿Me falta el valor de las pruebas unitarias de este tipo de proyectos antes de que las API se solidifiquen más?