在覆盖结果中,它显示我已经覆盖了 9 条指令,而只有 5 行以绿色突出显示。其他 4 条指令是什么?
问问题
672 次
2 回答
5
单击 Coverage 框右上角的下拉箭头。它会给你几种不同的方法来衡量你的覆盖率。默认似乎是指令(字节码指令),但您可以手动选择行。
您看到 9 条指令的原因是因为有 9 条字节码指令Foo
:
$ javap -c Foo.class
Compiled from "Foo.java"
public class Foo {
public Foo();
Code:
0: aload_0
1: invokespecial #8 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #16 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #22 // String Test
5: invokevirtual #24 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: new #1 // class Foo
11: invokespecial #30 // Method "<init>":()V
14: return
}
于 2016-05-03T16:47:01.217 回答
2
正如@schmosel 所说,它正在计算字节码指令。
您可以通过阅读 EMMA参考文档(EclEMMA 是一个围绕 EMMA 包装的 Eclipse GUI)来验证这一点,其中始终使用短语“字节码指令”。
于 2016-05-03T16:35:41.193 回答