Einige werden etwas anderes sagen, aber ich würde vorschlagen, dass Sie TDD und Unit Testing trennen. TDD ist eine ziemliche mentale Verschiebung und Unit-Tests scheinen anfangs Zeit in Anspruch zu nehmen. Wenn Sie sie als einen Gegenstand betrachten, besteht die Gefahr, dass Sie nicht sofort genug Nutzen sehen, und es besteht die Versuchung, TDD und Unit Testing einfach damit fallen zu lassen.
Als erstes schreiben Sie einige Unit Tests. Sie müssen zunächst nicht perfekt sein. Lernen Sie einfach, wie Sie kleine Codeeinheiten testen und wie Sie Komponenten mithilfe von Verspottungen isolieren.
Dies ist der größte Zeitnehmer, hat aber bei weitem die größte Auszahlung. Sobald Sie bemerken, dass Sie nicht mehr durch 14 Webseiten blättern müssen, um zu der zu gelangen, die Sie testen möchten, wissen Sie, wovon ich spreche.
Für mich war der große Moment bei Eureka eine Windows-App, in der ich versuchte, einen regulären Ausdruck zu testen, für den ich zwei Formulare ausfüllen musste, bevor ich darauf zugreifen konnte. Ich habe NUnit installiert, einen Test für diese Methode geschrieben und festgestellt, wie schnell ich Stunden Testzeit gespart habe. Dann habe ich weitere Tests hinzugefügt, um die Randfälle zu behandeln. Und so weiter.
Dann lerne Unit Tests gut zu schreiben. Lernen Sie die Balance zwischen spröden Tests, die schnell zu schreiben sind, und vielen, vielen Einzeltests. Das ist ziemlich einfach. Im Idealfall testet jeder Test nur eine Sache, aber Sie lernen schnell, wie lange dies dauert, und beginnen, ein wenig über die Regel nachzudenken, bis Sie einen Test schreiben, der bei jeder Codeänderung abbricht. Dann kehren Sie zum richtigen Gleichgewicht zurück (die näher an der ersteren als der letzteren ist).
TDD ist, wie gesagt, eine große mentale Veränderung in Ihrer Arbeitsweise. Es wird jedoch nicht viel Zeit für Ihren Entwicklungsprozess bedeuten, wenn Sie ohnehin bereits Tests schreiben. Und ich verspreche, Sie werden sehen, wie sich Ihr Codierungsstil vor Ihren Augen verbessert. Oder besser gesagt, wenn Sie es nicht fallen lassen, ist es nichts für Sie.
Als letztes ist zu beachten, dass TDD nicht auf Unit-Tests beschränkt ist. Akzeptanztestgetriebenes Design ist Teil von TDD. Ein weiterer guter Grund, sie nicht durcheinander zu bringen.