也许这是由于我自己对Sonar的分析误解,但在组件级别,Sonar报告的代码覆盖率远高于在包级别给出的结果。 我可以将您的注意力集中在附带的截图上...... 请参阅:http://i.stack.imgur.com/yCnms.png 有什么想法吗?
答案 0 :(得分:4)
这完全取决于类的大小以及它们如何为整个模块的覆盖范围做出贡献
整体覆盖率为60.3%(609/1010)
但是如果
现在整体覆盖率为89.7%(906/1010)
然后你必须考虑到filewatcher的覆盖范围是否还包括filewatcher.impl的覆盖率指标 - 我怀疑它可能会这样做。
最后你还没有提到你所显示的数字是分支/行是否是评论中提供的链接所暗示的两者的组合,如果后者然后涉及的组合开始让我的头受伤。< / p>
答案 1 :(得分:2)
屏幕截图仅显示软件包的代码覆盖率
com.gfs.transportation.transprointegration.filewatcher
com.gfs.transportation.transprointegration.filewatcher.impl
如果以下组件的代码覆盖率为100%
com.gfs.transportation.transprointegration
com.gfs.transportation
com.gfs
com
然后总覆盖率将是(87.9 + 89.2 + 100 + 100 + 100 + 100)/ 600 等于96.183%
我在想如果一个包下面没有类,那么包的覆盖率是100%