2011-05-01 23 views
22

मुझे अपने आईफोन ऐप के लिए कोड कवरेज चाहिए।एक्सकोड - कोड कवरेज?

क्या कोई भी एक्सकोड 4 के लिए कोड कवरेज प्राप्त करने के बारे में विस्तृत जानकारी प्रदान कर सकता है?

धन्यवाद

+0

बजना/LLVM gcov के लिए समर्थन की जरूरत नहीं है और कोड कवरेज क्षमताओं प्रदान नहीं करते हैं। आप जीसीसी के साथ जीसीओ के निर्माण के आधार पर जीसीसी के साथ जीसीओवी का उपयोग करने में सक्षम हो सकते हैं। [एलएलवीएम पर यह बग रिपोर्ट] देखें (http://llvm.org/bugs/show_bug.cgi?id=8030) और [फीचर अनुरोध रडार दर्ज करना] पर विचार करें (http://bugreport.apple.com) भी। –

+0

आपने अपनी जानकारी में YIApplicationExitsOnSusspend को YES पर सेट किया है। Plist – aryaxt

+1

@Bavarious: आपके बग्रेपोर्ट के अनुसार, क्लैंग अब कवरेज का समर्थन करता है? –

उत्तर

12

से मैं एक entry on my blog जो इस सटीक विषय को शामिल किया गया है।

यह एक्सकोड 4 में जीसीओवी को सक्षम करने के तरीके के साथ-साथ परिणामों को प्रदर्शित करने के लिए कवरस्टोरी का उपयोग करने के तरीके पर एक चरण-दर-चरण मार्गदर्शिका प्रदान करता है।

+0

मैंने आपके सभी निर्देशों का पालन किया और मैं प्रत्येक फ़ाइल पर 0% कोड कवरेज के साथ समाप्त हुआ। निर्माण परिणाम दिखाता है के रूप में परीक्षण गुजर रहे हैं। कोई सुझाव? – aryaxt

+0

सुनिश्चित करें कि आप किसी भी प्रीकंपील्ड हेडर का उपयोग नहीं कर रहे हैं क्योंकि इससे 0% परिणाम हो सकते हैं। आपको क्लीन बिल्ड करने की भी आवश्यकता हो सकती है। –

+0

धन्यवाद। 1 और सवालक्या मैं अपना लक्ष्य आईओएस पर सेट कर सकता हूं या इसे मैक ओएस एक्स होना चाहिए। – aryaxt

9

ये चरण मदद करेंगे।

  1. एक नए निर्माण विन्यास ('कवरेज'), 'डिबग' विन्यास से दोहराया बनाएँ।

  2. ओपन अप मुख्य लक्ष्य के लिए सेटिंग्स का निर्माण, सुनिश्चित करें कि आपके नए विन्यास चयनित है, और कवरेज मोड के साथ

    Enable “Generate Test Coverage Files” 
    Enable “Instrument Program Flow” 
    Add “-lgcov” to “Other Linker Flags” 
    
  3. संकलित आवेदन।

  4. अपने एप्लिकेशन बंडल फ़ोल्डर से .gcno फ़ाइलें जांचें।

    कवरेज-iphonesimulator/applicationname.build/वस्तुओं सामान्य

    आवरण के साथ फ़ाइलें .gcno खोलें। डाउनलोड आवरण
    http://code.google.com/p/coverstory/downloads/list

संदर्भ साइटें

3

मुझे इसका अच्छा उदाहरण नहीं मिला, इसलिए उम्मीद है कि यह किसी और की मदद करेगा।

आप अपने कोड कवरेज से HTML जनरेट करना चाहते हैं (एक बार आप उत्पन्न अपने .gcda फ़ाइलें कैसे प्राप्त करें), तो आपको lcov स्थापित करने और इन आदेशों का उपयोग कर सकते हैं:

function generate-codecoverage-html() { 
    if [[ $1 == "-h" || ! $# -eq 2 ]]; then 
     echo " usage: $0 path/to/codecoverage/dir/ path/to/htmldir/" 
     return 
    fi 

    timestamp=$(date) 
    tmpfile="/tmp/codecoverage.info-$date" 
    lcov --no-checksum --directory "$1" --capture --output-file "$tmpfile" 
    genhtml --output-directory "$2" "$tmpfile" 
} 
+0

'lcov' कहां है? – AnneTheAgile

+0

इसे मिला; https://github.com/linux-test-project/lcov, https://github.com/jonreid/XcodeCoverage में संदर्भित – AnneTheAgile

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