Después de leer el Mocks Aren't Stubs de Martin Fowler, descubrí que he estado practicando TDD al estilo "mockist".Como practicante de TDD "simulado", ¿debería burlarme de otros métodos en la misma clase que el método bajo prueba?
Pero me pregunto si incluso en Mockist TDD si uno puede tomar la burla demasiado lejos.
He aquí un actualizan ejemplo, en estilo pseudo-código 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 con un servidor.
Probé un método similar a este en dos pruebas, las cuales simulan confirm_or_create_connection() y sync() (aunque ambos son métodos en la misma clase). En una prueba, el simulador confirm_or_create_connection() devuelve True y la prueba confirma que se llamó a sync(), y en el otro el simulacro confirm_or_create_connection() devuelve False y la prueba confirma que no se llamó a sync().
¿Es esto razonable? ¿O debería burlarme de los objetos que confirman la llamada de confirm_or_create_connection() y sync()? (Tengo otras pruebas de estos dos métodos que ya lo hacen.)
No conteste la pregunta explicando que debería estar practicando el TDD "clásico" en su lugar. Esa es una respuesta a otra pregunta: Should I practice mockist or classical TDD?
Intentaré aclarar mi pregunta. –