我正在尝试使用gcov首次测量测试覆盖率。现在我已经过了最初的学习曲线,事情似乎进展顺利,除了一个小小的障碍。我希望这可以归结为我缺乏理解,所以我希望有人熟悉gcov可以解释发生了什么。为什么gcov报告一个良好使用的类的头文件0%的覆盖率?
问题是我有一个特定的头文件显示0%的覆盖率。然而,只有该标题中的东西是一个良好使用的类的类声明。
此外,该类的实现文件显示100%覆盖率,并且我可以指向5个不同的测试,我知道该类正在成功实例化。
那么为什么gcov会报告班上0%的覆盖率,我该如何解决?
- 编辑 -
由于lacqui指出的下方,如果标题没有可执行的代码,它不应该被纳入覆盖范围计算。事实上,在我的所有类中,该特定的头文件是gcov试图为其生成覆盖信息的唯一头文件。
我已经做了一个逐行比较与其他头,我发现最大的区别是这个特定的头没有明确的构造函数或析构函数,而其他人做。为了尽量减少文件之间的差异,我在问题类中添加了一个明确的ctor和dtor。但是,这没有任何区别。
你能向我们展示标题吗? – user44511 2009-04-24 04:18:24