Nachdem ich Martin Fowlers Mocks Aren't Stubs gelesen habe, habe ich entdeckt, dass ich TDD auf "Spott" -Mode geübt habe.Als "spöttischer" TDD-Praktizierender sollte ich andere Methoden in der gleichen Klasse wie die zu testende Methode verspotten?
Aber ich frage mich, ob selbst in Pseudo-TDD, wenn man sich zu weit spotten kann.
Hier ist ein Beispiel in Python-Stil Pseudo-Code aktualisiert:
def sync_path(self):
if self.confirm_or_create_connection():
self.sync(self.dirpath)
Die confirm_or_create_connection() Methode erstellt eine Verbindung zu einem Server.
Ich testete eine ähnliche Methode in zwei Tests, die beide confirm_or_create_connection() und sync() vortäuschen (obwohl sie beide Methoden in der gleichen Klasse sind). In einem Test gibt der Schein confirm_or_create_connection() True zurück und der Test bestätigt, dass sync() aufgerufen wurde, und in dem anderen gibt der Schein confirm_or_create_connection() False zurück und der Test bestätigt, dass sync() nicht aufgerufen wurde.
Ist das sinnvoll? Oder sollte ich die Objekte vortäuschen, die confirm_or_create_connection() und sync() aufrufen? (Ich habe andere Tests dieser beiden Methoden, die das bereits tun.)
Bitte beantworten Sie die Frage nicht, indem Sie erklären, dass ich stattdessen "klassische" TDD üben sollte. Das ist eine Antwort auf eine andere Frage: Should I practice mockist or classical TDD?
Ich werde versuchen, meine Frage klarer zu machen. –