我正在尝试通过检查我当前的代码覆盖率来改进我的单元测试。我正在使用 gcov 和 lcov 生成覆盖结果的 HTML 报告。但是,我在理解某些输出时遇到问题。我知道 a+
表示已采用分支,而 a-
表示未采用。
131 : 8 : QString toString() const
132 : : {
133 [ + - ][ + - ]: 8 : return ((negative && !isZero()) ? "-" : "") + QString::number(sec) + "." + QString::number(nano).rightJustified(9, '0');
[ + - ][ + + ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
134 : : }
变量negative
是 bool 类型,method 的返回值也是isZero
。所以我希望这里有四个分支,但我看不到输出如何映射到这个期望。那么如何解释输出呢?悬停在 +/- 符号上时的工具提示告诉我,分支 3、6、9、11、12、14、17、20、23 和 26 被采用,而分支 4、7、10、15、18、21、24 和27 从未被采取。