简体   繁体   中英

how to interpret the jacoco.xml file?

I am using the JACOCO tool in Maven project. It creates code coverage XML file "jacoco.xml" . As I'm going to parse this xml I need to know the meaning of some attributes in the xml file. xml contains following elements:

    <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>

variable "nr" seems to mean line number. what are the meanings of the variables "mi", "ci", "mb" and "cb" ?

And here is the code coverage shown in generated html output.

生成的html输出

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

  • When mb or cb is greater then 0 the line is a branch.
  • When mb and cb are 0 the line is a statement.
  • cb / (mb+cb) (line 11) is 2/4 partial hit (hence yellow)
  • When not a branch and mi == 0 the line is hit (hence green in line 5)

Thank you!

Bonus: Upload these reports to Codecov https://github.com/codecov/example-java

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM