Крім просто думки про одне, одна парадигма TDD полягає в написанні найменшого коду, який можна пройти тест. Коли ви пишете по одному тесту за раз, набагато простіше побачити шлях до написання достатньо коду, щоб пройти тест. Пройшовши цілий набір тестів, ви не прийдете до коду невеликими кроками, але вам доведеться зробити великий стрибок, щоб усі вони пройшли за один раз.
Тепер, якщо ви не обмежуєтеся писати код, щоб змусити їх пройти "за один раз", а скоріше написати достатньо коду, щоб пройти один тест за один раз, він все одно може працювати. Вам доведеться мати більше дисципліни, щоб не просто йти вперед і писати більше коду, ніж потрібно. Після того, як ви починаєте цей шлях, ви залишаєте себе відкритим для написання коду більше, ніж описують тести, що може бути неперевіреним , принаймні в тому сенсі, що він не керується тестом і, можливо, в тому сенсі, що він не потрібен (або здійснено) будь-яким тестом.
Вказівки щодо того, що повинен робити метод, як коментарі, розповіді, функціональна специфікація тощо, цілком прийнятні. Я б зачекав, щоб перевести їх у тести по одному, однак.
Інша річ, яку ви можете пропустити, написавши тести відразу, - це процес мислення, завдяки якому проходження тесту може спонукати вас думати про інші тестові випадки. Без банку існуючих тестів вам потрібно продумати наступний тестовий випадок у контексті останнього проходження тесту. Як я вже говорив, дуже добре уявити, що слід зробити методом, дуже добре, але я багато разів знаходив нові можливості, які я не вважав апріорі, але які виникали лише в процесі написання тести. Існує небезпека, що ви можете їх пропустити, якщо ви конкретно не звикли думати, які нові тести я можу написати, що у мене ще немає.