Alle Unit-Tests sind besser als keine. Es ist also kein Alles-oder-Nichts-Geschäft.
In Ihrem Fall, da Test Driven Development nicht die Norm war, werden Sie sich fragen, wie die Tests von Nutzen sind.
Sie möchten sicherstellen, dass zukünftiger Code, den Sie schreiben, keine (aktuellen) Funktionen beeinträchtigt - und das ist der Punkt , an dem sich Ihre Unterfälle als nützlich erweisen. Wenn die gut geschriebenen Tests bestanden wurden, haben Sie höchstwahrscheinlich nichts beschädigt. Der nächste Entwickler, der mitkommt, wird sich für die Tests und die Dokumentation bedanken.
Sie können damit beginnen, wenn Sie eine gut aufgeteilte Schichtenarchitektur haben, die Datenzugriffsebenen aufgreifen und mit den Tests nach oben (in Richtung UI-Ebene) arbeiten. Wenn das Projekt über ein Domänenmodell verfügt, ist dies der wahrscheinlichste Kandidat für TDD, da dieser wahrscheinlich den größten Teil der Logik aufweist. Wenn die Dienst- (oder Geschäftslogik-) Schicht nur die Domänen- / Datenzugriffsschicht anruft, ist es sinnlos, die Dienstschicht in TDD-Weise auszuführen. Das sind flauschige Tests und nicht von großem Wert.
Hinzugefügt zu einem Code-Coverage-Tool wie Emma - und Sie können die Verbesserung der gesamten Testabdeckung kontinuierlich überwachen.
Sie können anfangen, Ihren aktuellen Code zu behandeln, und, wenn Sie etwas Zeit haben, beginnen Sie, die Kernfunktionalität des alten Codes zu behandeln. Du kannst auch deine Uhr um etwas mehr Zeit bitten =)
quelle
Absolut nicht! Testen Sie den neuen Code, den Sie hinzufügen. Sie werden enorme Vorteile daraus ziehen, auch wenn einige der älteren Komponenten keine Tests haben. Schreiben Sie einen Test, da Sie sich mit einer dieser Komponenten auseinandersetzen müssen oder einen Fehler darin finden. Mit der Zeit werden Sie mehr von dem älteren Code erhalten, der getestet wird.
quelle