10

我正在尝试通过检查我当前的代码覆盖率来改进我的单元测试。我正在使用 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 从未被采取。

4

0 回答 0