Akash Aggarwal Akash Aggarwal - 11 months ago 53
Java Question

Eclipse EcLemma number of covered instructions more than lines of code

In the coverage result, it shows that I've covered 9 instructions while there are only 5 lines highlighted green. Which are the other 4 instructions?

enter image description here


Click the dropdown arrow at the top right of the Coverage box. It'll give you a couple different ways to measure your coverage. The default seems to be instructions (bytecode instructions), but you can manually select lines.


The reason you are seeing 9 instructions is because there are 9 bytecode instructions in Foo:

$ javap -c Foo.class 
Compiled from "Foo.java"
public class Foo {
  public Foo();
       0: aload_0
       1: invokespecial #8                  // Method java/lang/Object."<init>":()V
       4: return

  public static void main(java.lang.String[]);
       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