¿Cuándo debo comprometerme e impulsar el desarrollo impulsado por testing?

Mi pregunta se refiere a TDD y ¿cuándo debería confirmar o presionar los cambios?

Me pregunto si está bien presionar el código donde algunos valores devueltos por la function todavía son falsos o la implementación es obvia para pasar la testing, pero la interfaz existe. En otras palabras, ¿puedo presionar el código antes de networkingactor? O de lo contrario: ¿puedo presionar el código que no cambia la "interfaz" pero que todavía no funciona?

No estoy hablando de testings unitarias, sino de algunas testings integrales / de aceptación de extremo a extremo, por ejemplo, obtengo datos de la herramienta A, los envío a la herramienta B y verifico si el logging de la database fue creado. La implementación de tales testings a menudo lleva mucho time y contiene muchas afirmaciones al final, pero presionar la versión temprana del código permite que otro miembro del equipo trabaje de acuerdo con nuestra parte de trabajo.

Gracias por responder esta pregunta con anticipación.

Un flujo de trabajo de desarrollo siempre implica cierto consenso entre los desarrolladores, por lo que no hay reglas fijas en juego aquí. Necesitas coordinar con los otros desarrolladores para descubrir qué funciona mejor para ti.

Dicho esto, mi enfoque personal aquí es que nunca debes romper el control remoto maestro. En su lugar, comprométase y envíe a una sucursal tan pronto como tenga algo que compile (incluso si las testings fallan), y luego fusione con el maestro una vez que pasen sus testings, es decir, solo envíe el código de trabajo al maestro, pero tenga las testings que no funcionan en una twig cuando lo desee.

Si tiene algún tipo de sistema de continuous integration implementado, este flujo de trabajo le asegura que nunca terminará rompiendo su compilation de IC al enviar una serie de testings fallidas a la sucursal que el sistema de IC va a recoger y probar.