2010-11-17 14 views
6

QTestLib kullanılarak yazılmış birim testimde gcov kullanmak istiyorum. Ben çalıştırdığınızdaKod kapsamı için QMake ile gcov nasıl kullanılır

QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 

Ama: Ben .pro dosyasına bu ekleyerek benim nesne dosyaları boyunca bazı .gcno dosyaları oluşturmak başarmış

gcov main.cpp.gcno 

Ben .gcov dosyaların bir grup var

-: 0:Source:main.cpp 
-: 0:Graph:main.gcno 
-: 0:Data:- 
-: 0:Runs:0 
-: 0:Programs:0 
-: 1:/*EOF*/ 
-: 2:/*EOF*/ 
-: 3:/*EOF*/ 
-: 4:/*EOF*/ 
-: 5:/*EOF*/ 
-: 6:/*EOF*/ 
-: 7:/*EOF*/ 
-: 8:/*EOF*/ 
-: 9:/*EOF*/ 
-: 10:/*EOF*/ 
-: 11:/*EOF*/ 
-: 12:/*EOF*/ 
-: 13:/*EOF*/ 
-: 14:/*EOF*/ 
#####: 15:/*EOF*/ 
-: 16:/*EOF*/ 
#####: 17:/*EOF*/ 
-: 18:/*EOF*/ 
-: 19:/*EOF*/ 
#####: 20:/*EOF*/ 
-: 21:/*EOF*/ 
-: 22:/*EOF*/ 
-: 23:/*EOF*/ 
-: 24:/*EOF*/ 
#####: 25:/*EOF*/ 
#####: 26:/*EOF*/ 
-: 27:/*EOF*/ 
-: 28:/*EOF*/ 
-: 29:/*EOF*/ 
#####: 30:/*EOF*/ 

Benim kaynak dosyaları

./MyProject/test/src dizin altında şunlardır: (web'de öğreticiler gördüğümüz gibi hiçbir şey) olmayan yararlı içerik ile oluşturulan ve tüm nesne dosyalarım src altındaki bir .obj dizinindedir (yani: .MyProject/test/src/.obj). Tüm ikili dosyalar ./MyProject/build dizininde oluşturulur.

Neyi eksik?

Teşekkürler!

cevap

4

QT programınızı çalıştırdınız mı? O zamana kadar kapsama verisi yok. Ayrıca, her şeyin html tabanlı güzel bir raporunu almak için kullanabileceğiniz lcov'a göz atabilirsiniz.

+0

Kapsam verileri için haklısınız: Artık dosyalarda veri var. Ayrıca, nesne dosyalarımın kaynağımdan ayrı bir dizinde olması nedeniyle gcov seçeneğini -o .obj seçeneğiyle belirtmem gerekiyor. –