Beberapa orang akan mengatakan sebaliknya tetapi saya menyarankan Anda memisahkan TDD dan Unit Testing. TDD adalah perubahan mental dan unit testing pada awalnya membutuhkan waktu. Jika Anda menganggapnya sebagai satu item, ada risiko bahwa Anda tidak akan segera melihat manfaat yang cukup dan akan ada godaan untuk hanya menjatuhkan TDD dan Pengujian Unit dengannya.
Hal pertama adalah menulis beberapa Tes Unit. Mereka tidak harus sempurna pada awalnya. Ajari diri Anda sendiri cara menguji unit kode kecil dan cara menggunakan mengejek untuk mengisolasi komponen.
Ini adalah pengambil waktu terbesar tetapi sejauh ini merupakan hadiah terbesar. Setelah Anda menyadari bahwa Anda tidak perlu lagi melalui halaman 14 untuk mendapatkan yang ingin Anda uji, Anda akan tahu apa yang saya bicarakan.
Bagi saya, momen besar Eureka adalah aplikasi Windows di mana saya mencoba untuk menguji regex yang mengharuskan saya mengisi dua formulir sebelum saya bisa mencapainya. Saya menginstal NUnit dan menulis tes di sekitar metode itu dan melihat seberapa cepat saya menghemat waktu pengujian. Kemudian saya menambahkan lebih banyak tes untuk menangani kasus tepi. Dan seterusnya.
Kemudian belajar menulis unit test dengan baik. Pelajari keseimbangan antara tes rapuh yang cepat untuk menulis dan menulis banyak tes individual. Ini cukup mudah. Pelajarannya adalah bahwa idealnya setiap tes hanya menguji satu hal, tetapi Anda dengan cepat belajar berapa lama, sehingga Anda mulai sedikit membungkuk pada aturan sampai Anda menulis tes yang merusak setiap perubahan kode, kemudian Anda bergerak kembali ke keseimbangan yang tepat. (yang lebih dekat ke yang pertama daripada yang terakhir).
TDD, seperti yang saya katakan, adalah perubahan mental utama dalam cara Anda bekerja. Namun, itu tidak akan menambah banyak waktu untuk proses pengembangan Anda setelah Anda sudah menulis tes. Dan Anda akan, saya berjanji, melihat gaya pengkodean Anda meningkat di depan mata Anda. Atau lebih tepatnya, jika Anda tidak menjatuhkannya, itu bukan untuk Anda.
Satu hal terakhir yang perlu diingat adalah bahwa TDD tidak terbatas pada unit test. Penerimaan desain yang digerakkan tes adalah setiap bit bagian dari TDD. Alasan bagus lainnya untuk tidak mencampuradukkannya dalam pikiran Anda.