我正在尝试通过检查当前的代码覆盖率百分比来改善我的单元测试。我正在使用gcov和lcov来生成覆盖结果的HTML报告。然而,我在理解某些输出方面遇到了问题。我知道+
表示执行了一个分支,-
表示未执行。
131 : 8 : QString toString() const
132 : : {
133 [ + - ][ + - ]: 8 : return ((negative && !isZero()) ? "-" : "") + QString::number(sec) + "." + QString::number(nano).rightJustified(9, '0');
[ + - ][ + + ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
134 : : }
变量negative
的类型为布尔型,方法isZero
的返回值也是布尔型。因此,我期望这里有四个分支,但我不明白输出如何符合这个期望。那么输出应该如何解释呢?当鼠标悬停在+/-符号上时,工具提示告诉我,已经执行了第3、6、9、11、12、14、17、20、23和26个分支,而第4、7、10、15、18、21、24和27个分支从未执行过。