Oprócz myślenia tylko o jednej rzeczy, jednym z paradygmatów TDD jest napisanie możliwie najmniejszego kodu, aby przejść test. Kiedy piszesz jeden test na raz, o wiele łatwiej jest zobaczyć ścieżkę do napisania wystarczającej ilości kodu, aby ten test mógł zostać zaliczony. Z całym zestawem testów do przejścia, nie przychodzisz do kodu małymi krokami, ale musisz zrobić duży skok, aby wszystkie przebiegły za jednym razem.
Teraz, jeśli nie ograniczysz się do pisania kodu, aby wszyscy przeszli „za jednym razem”, ale raczej piszesz tyle kodu, aby przejść jeden test na raz, może nadal działać. Musisz jednak zachować większą dyscyplinę, aby nie tylko pisać i pisać więcej kodu, niż potrzebujesz. Kiedy zaczniesz tę ścieżkę, pozostawiasz się otwarty na pisanie większej ilości kodu niż opisują testy, co można przetestować , przynajmniej w tym sensie, że nie jest on przeprowadzany przez test i być może w tym sensie, że nie jest potrzebny (lub wykonane) przez dowolny test.
Zrozumienie, co powinna zrobić metoda, takie jak komentarze, historie, specyfikacja funkcjonalna itp., Jest całkowicie dopuszczalne. Chciałbym jednak przełożyć je na testy pojedynczo.
Inną rzeczą, której możesz pominąć, pisząc testy naraz, jest proces myślenia, dzięki któremu zdanie testu może skłonić Cię do myślenia o innych przypadkach testowych. Bez zestawu istniejących testów należy pomyśleć o kolejnym przypadku testowym w kontekście ostatniego testu pozytywnego. Jak już powiedziałem, dobre wyobrażenie o tym, co ma zrobić metoda, jest bardzo dobre, ale wiele razy znalazłem nowe możliwości, których nie rozważałem a priori, ale które pojawiły się tylko w trakcie pisania testy. Istnieje niebezpieczeństwo, że możesz je przegapić, chyba że przyzwyczaisz się myśleć, jakie nowe testy mogę napisać, których jeszcze nie mam.