Como un practicante de TDD "burlón", ¿debería burlarme de otros métodos de la misma clase que el método bajo prueba?

Después de leer la de Martin Fowler.Las burlas no son talonesDescubrí que he estado practicando TDD de la manera "burlona".

Pero me pregunto si incluso en TDD mockista si uno puede llevar la burla demasiado lejos.

Aquí hay unactualizado Ejemplo en pseudocódigo de estilo Python:

def sync_path(self):
    if self.confirm_or_create_connection():
        self.sync(self.dirpath)

El método confirm_or_create_connection () crea una conexión a un servidor.

Probé un método similar a este en dos pruebas, ambas simuladas a confirm_or_create_connection () y sync () (aunque ambos son métodos de la misma clase). En una prueba, el simulacro confirm_or_create_connection () devuelve True y la prueba confirma que se llamó a sync (), y en la otra, el simulacro confirm_or_create_connection () devuelve False y la prueba confirma que no se ha llamado a sync ().

¿Es esto razonable? ¿O debería burlarme de los objetos a los que confirm_or_create_connection () y sync () llaman? (Tengo otras pruebas de ambos métodos que ya lo hacen).

Por favor, no responda la pregunta explicando que debería practicar TDD "clásico" en su lugar. Esa es una respuesta a otra pregunta:¿Debo practicar mockist o TDD clásica?

Respuestas a la pregunta(7)

Su respuesta a la pregunta