Pertama, Anda membutuhkan kerangka kerja unit testing. Di masa lalu saya telah menggunakan UnitTest ++ dan Google Test . Yang pertama sangat ringan dan yang terakhir lebih disukai tetapi agak lebih rumit. Terintegrasi dengan baik dengan Google Mock jika Anda membutuhkan hal semacam itu. Tentu saja ada banyak pilihan lain: lihat daftar ini (oleh penulis akhirnya dari UnitTest ++) dan Wikipedia misalnya.
Pengujian unit adalah tentang penulisan tes terfokus untuk menekankan bit kode independen yang terisolasi ("unit") di bawah berbagai skenario. Meskipun dalam beberapa kasus Anda dapat menguji semuanya, biasanya tidak praktis untuk mencapai cakupan 100% dan, terutama dalam game, bisa sangat sulit - dapat diperdebatkan apakah unit menguji output renderer Anda dengan cara apa pun yang berarti, bermanfaat, atau uji unit "benar" bagaimanapun.
Penting untuk diingat bahwa setiap pengujian (otomatis) lebih baik daripada tidak ada pengujian (otomatis). Jadi, Anda tidak boleh terlalu menekankan fakta bahwa tes Anda bukan "tes unit sejati" dan bangga bahwa Anda hanya memiliki tes. Kerangka kerja pengujian unit biasanya berguna untuk membangun lebih longgar, "non-unit" tes juga karena mereka mencakup fungsionalitas untuk tes kemasan dan melaporkan kegagalan secara seragam.
Saya akan mendorong Anda untuk menghidupkan kembali tes lama Anda dan membuatnya menjadi proyek uji menggunakan salah satu kerangka kerja yang tersedia - sesuatu yang dapat Anda jalankan dengan mudah dari waktu ke waktu (atau secara otomatis sebagai bagian dari rilis atau integrasi build) yang menjalankan semua tes Anda. Menulis tes baru untuk bit kode karena menjadi jelas akan berguna bagi Anda, misalnya jika Anda menemukan bug halus yang bisa Anda deteksi dengan tes, Anda dapat menambahkan satu untuk menangkap setiap regresi yang mungkin Anda buat di masa depan.
Anda mungkin akan menemukan bahwa sebagian besar kode utilitas tingkat rendah yang sesuai dengan pengujian unit, dalam gim. Tidak apa-apa - itu kode dasar yang dapat mengganggu banyak lapisan yang lebih tinggi jika rusak.
Anda tidak akan pergi ke purgatory programmer karena tidak memiliki tes untuk setiap fungsi kecil dan gerbang logis dalam basis kode Anda, jadi jangan menghabiskan lebih banyak waktu daripada yang Anda butuhkan untuk menulis tes. Jika Anda harus berpikir lebih keras atau menghabiskan lebih banyak waktu untuk menulis tes untuk sebuah modul daripada yang Anda butuhkan untuk membuat modul, Anda mungkin membuang-buang waktu. Pengujian unit - pengujian pada umumnya - adalah alat yang Anda pelajari untuk digunakan secara tepat untuk membantu Anda, bukan tugas yang harus Anda lakukan untuk semuanya.