Frage

Ich folge einem Kurs in agilen Praktiken und ich habe Hausaufgaben. Was sie mir beigebracht haben, ist, dass ich vor dem Ändern des Codes (Refactoring oder Hinzufügen von Funktionen) einen bestimmten Test hinzufügen, um Vertrauen zu gewinnen und sicherzustellen, dass ich das Verhalten nicht ändere, während ich das Verhalten während des Refaktors ändere. Dies ist klar und macht Sinn, aber was ist, wenn der Code nicht auftastbar ist, ohne zuerst etwas Refactoring zu tun?

Einfaches Beispiel: generasacodicetagpre.

Ich möchte einen Annahme- / Integrationstest mit Fit ausführen, und überprüfen Sie, ob die folgende Tabelle überprüft wird: generasacodicetagpre.

, weil der Funktion generationstabelletagcode die Summe an den Standardausgabestrom druckt, ist es schwierig, einen Test dafür zu schreiben (ich vermiede es, den Standardausgang abzufangen). Es würde mehr sinnvoll sein, den Code etwas zu refaktieren, um eine Methode zu haben, die die Summe zurückgibt. Da ich jedoch technisch "nicht erlaubt", um den Code vor dem Schreiben eines Tests zu ändern, wird dies nicht empfohlen.

Kannst du mir irgendwelche Hinweise geben? Wie würden Sie gehen?

Danke!

War es hilfreich?

Lösung

Sounds ähnlich zu Diese Frage .

Ob Sie den Code ändern dürfen, müssen Sie den Standard-Ausgabestrom fortsetzen.In jedem Fall ist es ein Teil des Verhaltens.

Andere Tipps

Sie können eine test.cpp-Datei schreiben, um Summation (x, y) mit verschiedenen Werten für X und Y in Ihrer Tabelle aufzurufen und die Ergebnisse zu überprüfen / aufzunehmen.Stellen Sie sicher, dass die Ergebnisse davon ausgehen, was Sie erwarten.Als Nächstes können Sie nun die Summationsklasse bearbeiten und Ihre Tests erneut ausführen (von test.cpp), um sicherzustellen, dass die Werte derselben wie zunächst gleich sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top