Ich lese The Art of Unit Testing von Roy Osherove. Ich bin in Abschnitt 7.2 und schreibe wartbare Tests, in denen der Autor diesen Hinweis zum Codegeruch hat:
HINWEIS: Wenn Sie den internen Status so umgestalten, dass er für einen externen Test sichtbar ist, kann dies als Codegeruch angesehen werden (ein Zeichen dafür, dass möglicherweise etwas im Design oder in der Logik des Codes nicht stimmt)? Es ist kein Codegeruch, wenn Sie umgestalten, um Mitarbeiter freizulegen. Es ist ein Code-Geruch, wenn Sie ein Refactoring durchführen und keine Mitarbeiter vorhanden sind (Sie müssen also nichts stummeln oder verspotten).
EDIT : Was der Autor unter "Kollaborateuren" versteht, sind Abhängigkeiten. Einige seiner Beispiele für Abhängigkeiten sind Klassen, die auf eine Datenbank oder auf das Dateisystem des Betriebssystems zugreifen. Hier definiert er Stub und beginnt, das Wort Kollaborateur zu verwenden:
Ein Stub ist ein steuerbarer Ersatz für eine vorhandene Abhängigkeit (oder einen Mitarbeiter ) im System.
Der Autor hat kein Beispiel für diesen Codegeruch und ich habe Probleme zu verstehen / mir vorzustellen, wie dies aussehen würde. Kann jemand dies etwas näher erläutern und vielleicht ein konkretes Beispiel geben?