2015-11-23 15 views
7

Tôi đang sử dụng công cụ JACOCO trong dự án Maven. Nó tạo ra tệp XML bao phủ mã "jacoco.xml". Khi tôi phân tích cú pháp xml này, tôi cần biết ý nghĩa của một số thuộc tính trong tệp xml. xml chứa các phần tử sau:cách diễn giải tệp 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> 

biến "nr" có vẻ là số dòng. ý nghĩa của các biến số "mi", "ci", "mb" và "cb" là gì?

Và đây là phạm vi mã được hiển thị trong đầu ra html được tạo.

generated html output

+2

mi = hướng dẫn bỏ lỡ ci = bao phủ hướng dẫn mb = chi nhánh bỏ lỡ cb = chi nhánh bao phủ ps: https: // github. com/codecov/example-java –

+0

Cảm ơn bạn đã trả lời. –

+0

@StevePeak Bạn chỉ cần biến điều đó thành câu trả lời. –

Trả lời

12

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

  • Khi mb hoặc cb lớn rồi 0 dòng là một chi nhánh.
  • Khi mbcb0 dòng là tuyên bố.
  • cb/(mb+cb) (dòng 11) là 2/4 phần hit (do đó màu vàng)
  • Khi không phải là một chi nhánh và mi == 0 dòng là hit (do đó màu xanh lá cây trong dòng 5)

Cảm ơn bạn!

Bonus: Tải lên các báo cáo này để Codecov https://github.com/codecov/example-java

Các vấn đề liên quan