Salah satu prinsip TDD adalah Anda membiarkan TDD dalam beberapa kasus memengaruhi desain Anda. Anda menulis tes untuk sistem, kemudian menulis kode untuk membuat lulus tes itu, menjaga dependensi sedangkal mungkin.
Bagi saya, hanya ada dua hal yang tidak saya uji sebagai bagian dari pengujian unit:
Pertama, saya tidak menguji elemen visual dan bagaimana tampilannya. Saya mengujinya dan objek akan berada di tempat yang tepat setelah pembaruan, bahwa kamera akan menyisihkan objek di luar batasnya, bahwa transformasi (setidaknya yang dilakukan di luar shaders) dilakukan dengan benar sebelum diserahkan ke mesin grafis , tetapi begitu menyentuh sistem grafis saya menarik garis. Saya tidak suka mencoba mengejek hal-hal seperti DirectX.
Kedua, saya tidak benar-benar menguji fungsi loop game utama. Saya menguji bahwa setiap sistem akan bekerja ketika melewati delta yang masuk akal, dan bahwa sistem bekerja bersama dengan benar ketika mereka perlu. Lalu saya baru saja memperbarui setiap sistem dengan delta yang benar di loop game. Saya benar-benar dapat memiliki tes untuk menunjukkan bahwa setiap sistem dipanggil dengan delta yang benar, tetapi dalam banyak kasus saya menemukan bahwa pembunuhan berlebihan (kecuali jika Anda melakukan logika kompleks untuk mendapatkan delta Anda, maka itu tidak berlebihan).