长期使用 JaCoCo Emma Jenkins 插件并成功获得代码覆盖率指标,但有一些带有“$”符号的重复类。这带来了线下覆盖率指标。例如。 ClassName.class 但有多个类:
- 类(class)名$1
- 类(class)名$2
- 类(class)名$3
- ClassName$4 等等
我可以忽略它们,它会显示指标,但想知道它为什么会出现,是否可以忽略它们?
最佳答案
如评论中所述,这些是匿名内部类,出于代码覆盖率的目的,应将它们视为不同的类。因此,如果您的测试没有命中这些内部类中的部分/大部分代码,您的代码覆盖率将会(并且应该)更低。
您可以根据需要排除它们(通过将 **/*$*
添加到 JaCoCo 插件配置的排除部分),但我强烈建议您不要这样做。
解决问题的正确方法是创建测试用例,命中这些内部类中遗漏的代码。
关于android - Jenkins JaCoCo Coverage with multiple classes with "$",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066352/