我在Jenkins上设置了gcov代码覆盖工具。用Cobertura输出Gcov的颜色代码
这工作正常,但我有输入颜色代码的错误。 每条线的'点击数'是corect,但是其他线是红色的时候一些线是绿色的,我不知道为什么。
实施例:
注意,setYear方法是所有绿,称为13倍(构造函数+ 12 setDateAAMMJJ倍就可以在屏幕上帽看到)
我在Jenkins上设置了gcov代码覆盖工具。用Cobertura输出Gcov的颜色代码
这工作正常,但我有输入颜色代码的错误。 每条线的'点击数'是corect,但是其他线是红色的时候一些线是绿色的,我不知道为什么。
实施例:
注意,setYear方法是所有绿,称为13倍(构造函数+ 12 setDateAAMMJJ倍就可以在屏幕上帽看到)
如果你看cobertura-plugin
on github的源代码,你会看到:
table.source tr.coverPart td.hits, table.source tr.coverNone td.hits {
background-color: #fdd;
font-weight: bold;
}
和
table.source tr.coverPart {
background-color: #ffd;
}
#fdd
是红色,#ffd
是黄色您应该能够使用浏览器 '开发者工具' 或 '检查' 功能查看应用了哪个课程。
最左边的黄色表示源代码覆盖了部分,这意味着您可能没有被调用函数的100%覆盖率。
我能想到的另一种情况(纯粹是在这一点上的推测)是,一些优化可以改变你的语句覆盖范围;检查你的编译标志。
如果您保存了数据(lcov文件),您应该可以使用genhtml
生成报告并进行比较。
不知道这是否适用于您,但似乎相关。 在我的情况下,它是红色的,因为分支覆盖不是100%。 当使用gcovr生成xml时,它还会添加分支封面数据。
可以覆盖所有行但不覆盖所有分支。 林有各种问题与分支封面。
一些在这些帖子中描述。
What is the branch in the destructor reported by gcov?
还在寻找一种方式来解决这样的问题..
'setDateAAMMJJ'也许应该改名为'setDateYYMMDD' – dnozay 2015-03-13 02:38:52
是的,这是英语和法语在一起。这很丑陋,但它是旧的代码部分,没有人想要触摸它。 – MokaT 2015-03-13 12:55:01