Czy jako „szyderczy” praktykant TDD powinienem kpić z innych metod w tej samej klasie, co testowana metoda?

Po przeczytaniu Martina FowleraPróbki nie są stubami, Odkryłem, że ćwiczę TDD w „szyderczy” sposób.

Zastanawiam się jednak, czy nawet w szyderczym TDD nie można zaszaleć za daleko.

Otozaktualizowany przykład w pseudo-kodzie w stylu Pythona:

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

Metoda confirm_or_create_connection () tworzy połączenie z serwerem.

Przetestowałem metodę podobną do tej w dwóch testach, z których oba mock potwierdzają confirm_or_create_connection () i sync () (nawet jeśli obie metody należą do tej samej klasy). W jednym teście mock confirm_or_create_connection () zwraca True, a test potwierdza, że ​​wywołano sync (), aw innym mock confirm_or_create_connection () zwraca False, a test potwierdza, że ​​nie wywołano sync ().

Czy to rozsądne? Czy powinienem wyszydzać obiekty, które wywołują metodę confirm_or_create_connection () i sync ()? (Mam inne testy obu tych metod, które już to robią.)

Nie odpowiadaj na pytanie, wyjaśniając, że zamiast tego powinienem ćwiczyć „klasyczne” TDD. To odpowiedź na inne pytanie:Czy powinienem ćwiczyć mockist lub klasyczną TDD?

questionAnswers(7)

yourAnswerToTheQuestion