2016-05-03 12 views

Antwort

3

Klicken Sie auf den Dropdown-Pfeil oben rechts im Feld Coverage. Es wird Ihnen eine couple different ways to measure your coverage geben. Der Standardwert scheint Anweisungen (Bytecode-Anweisungen) zu sein, aber Sie können Zeilen manuell auswählen.

2

Der Grund, warum Sie 9 Anweisungen sehen ist, weil es 9 Bytecodebefehle in 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 
} 
+0

Das ist pures Genie! Vielen Dank Herr. –

2

Wie @schmosel sagt, es zählt Bytecodebefehle.

Sie können dies überprüfen, indem Sie die EMMA reference documentation (EclEMMA ist eine Eclipse-GUI um EMMA gewickelt), in denen die Phrase "Bytecode-Anweisungen" verwendet wird.

+0

Kannst du mich bitte auf einen Link verweisen, wo ich die Bytecode-Anweisungen finden kann, EcLemma läuft? –

+0

Die allgemeinste Lösung ist javap https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html - Sie können Ihre eigene GUI-Entsprechung suchen, wenn Sie mögen. – slim

+0

Also welche Klasse sollte ich mit dem Befehl javap für meine Abfrage ausführen, wenn Sie vielleicht wissen? –