Abgesehen davon, dass man nur an eine Sache denkt, besteht ein Paradigma von TDD darin, möglichst wenig Code zu schreiben, um den Test zu bestehen. Wenn Sie einen Test nach dem anderen schreiben, ist es viel einfacher, den Pfad zum Schreiben von gerade genug Code zu erkennen, um diesen Test zu bestehen. Mit einer ganzen Reihe von Tests kommen Sie nicht in kleinen Schritten zum Code, sondern müssen einen großen Sprung machen, um alle Tests auf einmal bestehen zu können.
Wenn Sie sich nicht darauf beschränken, den Code so zu schreiben, dass alle Tests auf einmal bestanden werden, sondern nur so viel Code schreiben, dass Sie jeweils einen Test bestehen, funktioniert dies möglicherweise noch. Sie müssten mehr Disziplin haben, um nicht nur mehr Code zu schreiben, als Sie benötigen. Sobald Sie diesen Weg eingeschlagen haben, können Sie mehr Code schreiben, als die beschriebenen Tests beschreiben. Dieser kann ungetestet sein , zumindest in dem Sinne, dass er nicht von einem Test gesteuert wird und möglicherweise in dem Sinne, dass er nicht benötigt wird (oder ausgeübt) durch irgendeinen Test.
Es ist durchaus akzeptabel, zu notieren, was die Methode tun soll, wie z. B. Kommentare, Geschichten, eine funktionale Spezifikation usw. Ich würde warten, um diese in Tests eins nach dem anderen zu übersetzen.
Das andere, was Sie übersehen können, wenn Sie die Tests auf einmal schreiben, ist der Denkprozess, bei dem Sie durch Bestehen eines Tests dazu veranlasst werden, über andere Testfälle nachzudenken. Ohne eine Reihe vorhandener Tests müssen Sie im Kontext des letzten bestandenen Tests an den nächsten Testfall denken. Wie ich bereits sagte, ist es sehr gut, eine gute Vorstellung davon zu haben, was die Methode bewirken soll, aber oft habe ich neue Möglichkeiten gefunden, die ich nicht a priori in Betracht gezogen hatte, die sich aber erst beim Schreiben der Methode ergaben Tests. Es besteht die Gefahr, dass Sie diese verpassen, es sei denn, Sie haben sich ausdrücklich angewöhnt, darüber nachzudenken, welche neuen Tests ich schreiben kann, die ich noch nicht habe.