6

我想在使用 QTestLib 编写的单元测试中使用 gcov。通过将其添加到我的 .pro 文件中,我设法在我的目标文件中生成了一些 .gcno 文件:

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

但是,当我运行时:

gcov main.cpp.gcno

我得到了一堆用无用内容生成的 .gcov 文件(与我在网络上的教程中看到的完全不同):

-:    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*/

我的源文件位于./MyProject/test/src目录下,我的所有目标文件都位于 src 下的 .obj 目录中(即:.MyProject/test/src/.obj)。所有二进制文件都在./MyProject/build目录中创建。

我错过了什么?

谢谢!

4

1 回答 1

4

Have you run your QT program? Until then there's no coverage data. Also, have a look at lcov, which you can use to get a nice html-based report of everything

于 2010-11-17T12:56:14.360 回答