İlk önce, bir birim test çerçevesine ihtiyacınız olacak. Geçmişte UnitTest ++ ve Google Test kullandım . Eski çok hafif ve ikincisi daha özellikli ama biraz daha hantal. Böyle bir şeye ihtiyacın olursa , Google Mock ile iyi bütünleşir . Elbette pek çok başka seçenek var: bu listeye bakın (en son UnitTest ++ yazarı tarafından) ve örneğin Vikipedi .
Birim testi, çeşitli senaryolar altında izole edilmiş bağımsız kod bitlerini ("birimler") vurgulamak için odaklanmış testler yazmakla ilgilidir. Bazı durumlarda her şeyi test edebilirsiniz, ancak% 100 kapsama alanı elde etmek pratik değildir, özellikle oyunlarda oldukça zor olabilir - işleyici çıktınızın birim testini anlamlı, yararlı veya herhangi bir şekilde yapıp yapmamak tartışılabilir. ne olursa olsun bir "gerçek" birim testi.
Herhangi bir (otomatik) testin hiçbir (otomatik) testten daha iyi olmadığını hatırlamak önemlidir. Bu nedenle, testlerinizin “gerçek birim testleri” olmadığı ve sadece testler yaptığınız için gurur duyduğunuz için çok fazla stres yapmamalısınız. Birim test çerçeveleri genellikle daha gevşek, "birim olmayan" testler yapmak için de kullanışlıdır, çünkü paketleme testleri ve hataları düzgün bir şekilde raporlamak için işlevsellik içerirler.
Eski testlerinizi yeniden canlandırmanızı ve bunları mevcut çerçevelerden birini kullanarak bir test projesine dönüştürmenizi öneririm - bunları kolayca çalıştırabileceğiniz (veya otomatik olarak bir sürüm veya entegrasyon yapısının parçası olarak) çalıştırabilir. senin testlerin. Kod bitleri için yeni testler yazın, bunlar sizin için faydalı olacak gibi görünür, örneğin bir testte tespit edebileceğiniz ince bir hata keşfederseniz, gelecekte yapabileceğiniz herhangi bir gerilemeyi yakalamak için bir tane ekleyebilirsiniz.
Muhtemelen oyunlarda, ünite testlerine uygun düşük seviyeli hizmet kodunuz olduğunu göreceksiniz. Sorun değil - kırılırsa daha yüksek katmanlara zarar verebilecek temel koddur.
Kod tabanınızdaki her küçük işlev ve mantıksal geçit için sınama yapamadığınız için programcının arafına girmeyeceksiniz, bu nedenle sınama yazmak için gerekenden daha fazla zaman harcamayın. Bir modülün testlerini yazmak için harcadığınızdan daha fazla düşünmek veya daha fazla zaman harcamak zorunda kalırsanız, ilk etapta bu modülü sizin yazmanız için harcadığınız zaman, zamanınızı boşa harcıyor olabilirsiniz. Birim testi - genel olarak test etme - her şey için yapmanız gereken bir görev değil, size yardımcı olmak için uygun şekilde kullanmayı öğrendiğiniz bir araçtır.