Gcov kullanıyorum.
Benim kurulum oldukça ben nitelendirerek düşünmek zorunda etmem de karmaşıktır:
Ben gcc (g ++) ve gcov için nuwen.net mevcut stl tarafından MinGW dağıtımın, kullandım. Bu bana bir derece taşınabilirlik veriyor.
Test uygulamamı scons ve bir toplu iş dosyası kullanarak oluşturup onu denetlemek için çalıştırıyorum.
Ardından, sürüm denetimine kod koyarım ve kendi makinemde çalışan bir Jenkins CI sunucusu onu alır ve hala scons kullanır, derler, ancak bu sefer --coverage
bayrağını kullanır. Bu kez * .gc çıktılar test uygulamasını çalıştırır? Dosyalar. Sonra gcov'u bir kez çalıştırıyorum, ancak bütün dosyaların nerede olduğunu söylerim, ki bu da * .gcov dosyaları yükler. Geçmişte python betiğini kullandım. gcovr.py
, ama o zamandan beri tüm * .gcov dosyalarını taramak için yazdım ve kaplanmamış tüm satırları yazdım.
Tüm bu parçaların açık kaynak durumundan emin değilim, ancak bunların ücretsiz olduğunu biliyorum.
Not vb çoğaltma ve kod kalitesi, tasarım kalitesi için kod kapsama değil, diğer analizler bakmak yardımcı olur: Eğer VS10 kullanıyorsanız, kullandığınız bazı C++ 11 başlık altındaki özellikler, örn. _HAS_CPP0X = 0 –
@ Arne Mertz tanımlanmadıkça, standart kitaplıktaki semantikleri taşıyın. Evet, #define _HAS_CPP0X 0 var, teşekkürler! – Baz