android - Jenkins JaCoCo Coverage with multiple classes with "$"

标签 android testing code-coverage jacoco emma

长期使用 JaCoCo Emma Jenkins 插件并成功获得代码覆盖率指标,但有一些带有“$”符号的重复类。这带来了线下覆盖率指标。例如。 ClassName.class 但有多个类:

  1. 类(class)名$1
  2. 类(class)名$2
  3. 类(class)名$3
  4. ClassName$4 等等

我可以忽略它们,它会显示指标,但想知道它为什么会出现,是否可以忽略它们?

enter image description here

最佳答案

如评论中所述,这些是匿名内部类,出于代码覆盖率的目的,应将它们视为不同的类。因此,如果您的测试没有命中这些内部类中的部分/大部分代码,您的代码覆盖率将会(并且应该)更低。

您可以根据需要排除它们(通过将 **/*$* 添加到 JaCoCo 插件配置的排除部分),但我强烈建议您不要这样做。

解决问题的正确方法是创建测试用例,命中这些内部类中遗漏的代码。

关于android - Jenkins JaCoCo Coverage with multiple classes with "$",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066352/

相关文章:

android - javax.net.ssl.SSLException:读取错误:ssl = 0x9524b800:系统调用期间发生I/O错误,对等方重置了连接

java - 将接口(interface)传递给实现该接口(interface)的类的构造函数

csv - 使用 JMeter 在 CVS 日志中记录 cookie

javascript - 使用 React router 进行 enzyme 集成测试测试 - 使用链接测试组件更新

testing - 用于生产测试的影子部署

安卓 : how to play multiple audios using single media player object

android - 在 Android 上切换 Facebook 应用程序?

unit-testing - 包外测试文件时的 Golang 测试覆盖率

iphone - 如何为我的 Objective-C 应用程序获取 Xcode 的代码覆盖率?

unit-testing - 测试生成的 Go 代码而不使用同位测试