如何解释 jacoco.xml 文件?
how to interpret the jacoco.xml file?
我在 Maven 项目中使用 JACOCO 工具。它创建代码覆盖率 XML 文件 "jacoco.xml"。当我要解析这个 xml 时,我需要知道 xml 文件中某些属性的含义。 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>
变量"nr"好像是行号的意思。变量 "mi"、"ci"、"mb" 和 "cb" 的含义是什么?
这里是生成的 html 输出中显示的代码覆盖率。
mi = missed instructions (statements)
ci = covered instructions (statements)
mb = missed branches
cb = covered branches
- 当
mb
或cb
大于0时,该线为分支。
- 当
mb
和 cb
是 0
时,该行是一个语句。
cb / (mb+cb)
(第 11 行)是 2/4
部分命中(因此为黄色)
- 当不是分支且
mi == 0
命中该行时(因此第 5 行为绿色)
谢谢!
Bonus: Upload these reports to Codecov https://github.com/codecov/example-java
我在 Maven 项目中使用 JACOCO 工具。它创建代码覆盖率 XML 文件 "jacoco.xml"。当我要解析这个 xml 时,我需要知道 xml 文件中某些属性的含义。 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>
变量"nr"好像是行号的意思。变量 "mi"、"ci"、"mb" 和 "cb" 的含义是什么?
这里是生成的 html 输出中显示的代码覆盖率。
mi = missed instructions (statements)
ci = covered instructions (statements)
mb = missed branches
cb = covered branches
- 当
mb
或cb
大于0时,该线为分支。 - 当
mb
和cb
是0
时,该行是一个语句。 cb / (mb+cb)
(第 11 行)是2/4
部分命中(因此为黄色)- 当不是分支且
mi == 0
命中该行时(因此第 5 行为绿色)
谢谢!
Bonus: Upload these reports to Codecov https://github.com/codecov/example-java