Después de leer un interesante artículo sobre el comportamiento de las pruebas unitarias en lugar del estado, me di cuenta de que mis pruebas unitarias a menudo están estrechamente relacionadas con mi código porque estoy usando simulaciones. No puedo realizar pruebas de unidades de escritura de imágenes sin burlarse, pero el hecho es que estos simulacros están acoplando mucho mi prueba de unidad a mi código debido a las llamadas de espera y de devolución.¿Estoy haciendo algo fundamentalmente incorrecto en mis pruebas unitarias?
Por ejemplo, cuando creo una prueba que utiliza un simulacro, grabo todas las llamadas al simulacro específico y asigno valores devueltos. Ahora cuando cambio la implementación del código real por alguna razón, se rompen muchas pruebas porque el simulacro no esperaba esa llamada, lo que me forzó a actualizar también la prueba de la unidad y me obligó a implementar cada cambio dos veces. Esto sucede mucho.
¿Este problema es intrínseco al uso de simulacros, y debería aprender a vivir con él, o estoy haciendo algo fundamentalmente malo? Por favor, ilumíname :) Los ejemplos claros que vienen con la explicación son bienvenidos, por supuesto.
Definitivamente, debes googlear "cazadora ficticia clasicista", reserva uno o dos días y lee :). Iho, ambos tienen sus méritos y ambos deben usarse cuando la situación lo requiera. –