2015-11-23 12 views
7

Sto usando lo strumento JACOCO nel progetto Maven. Crea file XML di copertura del codice "jacoco.xml". Come sto per analizzare questo xml ho bisogno di sapere il significato di alcuni attributi nel file xml. xml contiene i seguenti elementi:come interpretare il file jacoco.xml?

<sourcefile name="Ops.java"> 
     <line nr="3" mi="0" ci="3" mb="0" cb="0"/> 
     <line nr="5" mi="0" ci="4" mb="0" cb="0"/> 
     <line nr="11" mi="0" ci="5" mb="2" cb="2"/> 
     <line nr="12" mi="0" ci="2" mb="0" cb="0"/> 
     <line nr="14" mi="8" ci="0" mb="0" cb="0"/> 
     <line nr="15" mi="2" ci="0" mb="0" cb="0"/> 
     <counter type="INSTRUCTION" missed="10" covered="14"/> 
     <counter type="BRANCH" missed="2" covered="2"/> 
     <counter type="LINE" missed="2" covered="4"/> 
     <counter type="COMPLEXITY" missed="2" covered="3"/> 
     <counter type="METHOD" missed="0" covered="3"/> 
     <counter type="CLASS" missed="0" covered="1"/> 
    </sourcefile> 

variabile "nr" sembra significare numero di riga. Quali sono i significati delle variabili "mi", "ci", "mb" e "cb"?

Ed ecco la copertura del codice visualizzata nell'output HTML generato.

generated html output

+2

mi = Avviso perse CI = coperti Avviso mb = rami perse cb = rami coperti ps: https: // GitHub. com/codecov/example-java –

+0

Grazie per la risposta. –

+0

@StevePeak Dovresti semplicemente trasformarlo in una risposta. –

risposta

12

mi = missed instructions (statements) ci = covered instructions (statements) mb = missed branches cb = covered branches

  • Quando mb o cb è maggiore di 0 alla linea è un ramo.
  • Quando mb e cb sono 0 la riga è una dichiarazione.
  • cb/(mb+cb) (linea 11) è 2/4 successo parziale (da qui giallo)
  • Quando non è un ramo e mi == 0 la linea è colpito (da qui in linea verde 5)

Grazie!

Bonus: Carica questi report per Codecov https://github.com/codecov/example-java

Problemi correlati