2015-02-10 10 views
5

के साथ जीसीओवी का आउटपुट रंग कोड मैंने जेनकिन्स पर जीसीओवी कोड कवरेज टूल सेट किए हैं।कोबर्टुरा

यह ठीक काम करता है, लेकिन मैं ouput रंग कोड undertanding मुसीबतों की है। प्रत्येक पंक्ति के 'हिट' की संख्या कोरक है, लेकिन कुछ पंक्तियां हरे रंग की हैं जब अन्य लाल हैं, और मैं क्यों नहीं बता सकता।

उदाहरण:

enter image description here

ध्यान दें कि setYear विधि सब हरा है, और कहा जाता है 13 बार (ctor + 12 setDateAAMMJJ में बार के रूप में आप स्क्रीन टोपी पर देख सकते हैं)

+0

'setDateAAMMJJ' शायद नाम दिया जाना चाहिए' setDateYYMMDD' – dnozay

+0

हाँ, यह एक साथ अंग्रेजी और फ्रेंच है। यह बदसूरत है, लेकिन यह एक पुराना कोड हिस्सा है और कोई भी इसे छूना नहीं चाहता। – MokaT

उत्तर

2

आप cobertura-plugin on github के लिए स्रोत कोड को देखें, तो आपको लगता है कि देखेंगे:

table.source tr.coverPart td.hits, table.source tr.coverNone td.hits { 
    background-color: #fdd; 
    font-weight: bold; 
} 

और

table.source tr.coverPart { 
    background-color: #ffd; 
} 
  • #fdd लाल रंग है,
  • #ffd पीले रंग है

आप अपने ब्राउज़र का उपयोग करने में सक्षम होना चाहिए 'डेवलपर उपकरण' या 'निरीक्षक' समारोह यह देखने के लिए कि कौन सी कक्षा लागू की गई है।

इसका क्या अर्थ है?

दूर बाईं ओर पीला मतलब है कि स्रोत कोड आंशिक रूप से है, जिसका अर्थ है कि आपके पास संभवतः उन कार्यों में 100% कवरेज नहीं है जिन्हें कॉल किया जा रहा है।

एक और मामला मैं (इस बिंदु पर शुद्ध अटकलें) के बारे में सोच सकते हैं कि कुछ अनुकूलन अपने बयान कवरेज mangling है; अपने संकलन झंडे की जांच करें।

आप डेटा (lcov फ़ाइलें) रखा, तो आप genhtml उपयोग करने के लिए एक रिपोर्ट पैदा करते हैं और तुलना करने के लिए सक्षम होना चाहिए।

+0

उत्तर के लिए धन्यवाद।पागल चीजें यह है कि दोनों लाल कार्यों में 100% कवरेज था, चूंकि, हमने 2 यूनिट परीक्षण जोड़े, कवरेज 12 की बजाय 14 गुना हो गया, और अब यह सब हरा है। यह थोड़ा बग हो सकता है? जेनहैमेट एक ही रिपोर्ट उत्पन्न करता है। – MokaT

+0

मेरे पास यह समस्या भी है, सुनिश्चित नहीं है, अगर यह एक gcov, gcovr या cobertura समस्या – Simon

+0

मैंने जांच की है। यह cobertura नहीं है, क्योंकि gcovr एचटीएमएल निर्यात वही है। – MokaT

1

पता नहीं है, तो यह आपके लिए लागू होता है, लेकिन यह प्रासंगिक लगता है। मेरे मामले में यह लाल है क्योंकि शाखा कवर 100% नहीं है। gcovr के साथ एक XML उत्पन्न करते समय यह शाखा कवर डेटा भी जोड़ता है।

यह सब लाइनों को कवर करने लेकिन सभी शाखाओं को कवर नहीं संभव है। मुझे शाखा कवर के साथ सभी प्रकार की समस्याएं हैं I

कुछ इन पदों में वर्णित हैं।

Why gcc 4.1 + gcov reports 100% branch coverage and newer (4.4, 4.6, 4.8) reports 50% for "p = new class;" line?

What is the branch in the destructor reported by gcov?

फिर भी इस तरह के मुद्दों को हल करने के लिए एक रास्ता तलाश ..

संबंधित मुद्दे