Bazıları aksini söyleyecektir, ancak TDD ve Birim Testini ayırmanızı öneririm. TDD oldukça zihinsel bir kaymadır ve başlangıçta zaman alan birim testi görünür. Onları tek bir ürün olarak görüyorsanız, derhal yeterince fayda görmeme riski vardır ve TDD'yi ve Ünite Testini bununla birlikte bırakma konusunda bir cazibe olacaktır.
İlk olarak, bazı Birim Testleri yazmaktır. İlk başta mükemmel olmaları gerekmez. Küçük kod birimlerini nasıl test edeceğinizi ve bileşenleri izole etmek için alaycı nasıl kullanacağınızı öğretin.
Bu en büyük zaman alıcı ama en büyük kazancı var. Test etmek istediğinize ulaşmak için artık 14 web sayfasını taramanız gerekmediğini fark ettiğinizde, neden bahsettiğimi anlayacaksınız.
Benim için, büyük Eureka anı, ulaşmadan önce iki form doldurmamı gerektiren bir regex test etmeye çalıştığım bir Windows uygulamasıydı. NUnit'i yükledim ve bu yönteme bir test yazdım ve saatlerce test süresinden ne kadar çabuk tasarruf ettiğimi gördüm. Sonra son vakalarla başa çıkmak için daha fazla test ekledim. Ve bunun gibi.
Ardından, birim testleri iyi yazmayı öğrenin. Pek çok bireysel testi yazmak ve yazmak için hızlı olan kırılgan testler arasındaki dengeyi öğrenin. Bu oldukça kolaydır. Ders, ideal olarak her test sadece bir şeyi test eder, ancak ne kadar sürdüğünü hızlı bir şekilde öğrenirsiniz, böylece her kod değişikliğini kıran bir test yazana kadar kural üzerinde biraz bükülmeye başlarsınız, sonra doğru dengeye geri dönersiniz. (ikincisinden daha yakın olan).
TDD, dediğim gibi, çalışma şeklinizdeki büyük bir zihinsel değişimdir. Ancak, zaten zaten testler yazdığınızda, geliştirme sürecinize zaman kazandırmayacaktır. Ve söz veriyorum, kodlama tarzınızın, gözlerinizin önünde geliştiğini göreceksiniz. Ya da daha sonra düşürmezseniz, bu sizin için değildir.
Akılda tutulması gereken son şey TDD'nin birim testleriyle sınırlı olmamasıdır. Kabul testine dayalı tasarım her bit TDD'nin bir parçasıdır. Onları zihninde karıştırmamak için bir başka iyi sebep.