【发布时间】:2018-07-08 08:15:40
【问题描述】:
我目前正在为 Qt 项目编写单元测试。我想通过 Cobertura 插件使用 Jenkins 中提供的统计信息(下面的 gcov 用于获取统计信息)。
:~$ gcov -v
gcov 5.4.0 20160609
:~$ gcc -v
gcc version 5.4.0
然而,在我查看表格后(见下文),我真的很惊讶地发现覆盖率很差,尤其是条件句。对于第一个(请参阅文件覆盖率细分)我以为我已经完成了,因为代码只有三个ifs(每个都有一个条件)并且我的测试涵盖了所有内容(检查了这个也通过调试来确保)。所以我真的很困惑这些数字的实际含义以及如何解释它们以使我的单元测试更好。
我什至开始认为,一些糟糕的结果可能是由于使用了Qt,因为它不完全是纯 C++ 并且所有“附加”(插槽、信号、MOC 文件等)都可能是gcov 无法正常处理。
【问题讨论】:
-
似乎由于在代码中创建分支的异常负责这种情况,here 可能是重复讨论。
标签: c++ testing jenkins gcov test-coverage