TDD'deki ilk denemelerimde bu oldukça aptalca bir soru olabilir. Getirdiği güven duygusunu ve genel olarak kodumun daha iyi yapısını sevdim, ancak tek sınıf oyuncak örneklerinden daha büyük bir şeye uygulamaya başladığımda zorluklarla karşılaştım.
Diyelim ki bir tür kitaplık yazıyorsunuz. Ne yapması gerektiğini biliyorsunuz, nasıl uygulanacağının genel bir yolunu biliyorsunuz (mimari olarak), ancak kodlarken genel API'nızda değişiklik yapmanız gereken "keşfetmeye" devam ediyorsunuz. Belki de bu özel yöntemi strateji modeline dönüştürmelisiniz (ve şimdi testlerinizde alaycı bir stratejiyi geçmeniz gerekiyor), belki de burada ve orada bir sorumluluğu yanlış yerleştirdiniz ve mevcut bir sınıfı bölüyorsunuz.
Mevcut kod üzerinde geliştirdiğinizde, TDD gerçekten iyi bir uyum gibi görünüyor, ancak her şeyi sıfırdan yazarken, testler yazdığınız API, büyük bir tasarım yapmazsanız biraz "bulanık" olur. İmzası (ve bu kısım için davranış) değişmiş olan yöntem üzerinde zaten 30 testiniz varsa ne yaparsınız? Bu, toplandıktan sonra değiştirmek için çok fazla testtir.