2015-09-22 17 views
36

में कवरेज आंकड़ों से कोड को छोड़कर मैंने एक्सकोड 7.0 और ऑब्जेक्टिव सी (like this) में कोड कवरेज आंकड़े सक्षम किए हैं और यह अच्छी तरह से काम कर रहा है।एक्सकोड 7

क्या कुछ स्रोत लाइनों को चिह्नित करना संभव है ताकि उन्हें कवरेज रिपोर्ट द्वारा अनदेखा किया जा सके? अगर मैं lcov का उपयोग कर रहा था तो मैं LCOV_EXCL_START और LCOV_EXCL_END मार्कर (How to tell lcov to ignore lines in the source files में) का उपयोग कर सकता था लेकिन एक्सकोड उनको पहचान नहीं पाता है।

क्या एक्सकोड के पास ऐसा करने के लिए एक वैकल्पिक तंत्र है?

+1

जब मैं युवा और अनुभवहीन था, तो मैं भी ऐसा कर रहा था, तो मुझे एहसास हुआ कि कोड के कुछ हिस्सों को अनदेखा करके 100% कवरेज तक पहुंचने का प्रयास करना व्यर्थ है। कोड को अनदेखा करके अपनी रिपोर्ट खेलने की कोशिश न करें। – Sulthan

+0

एकमात्र तरीका जिसे मैं देख सकता हूं परीक्षण के लिए पोस्ट-एक्शन का उपयोग कर रहा है जब आपको बिल्ड निर्देशिका में 'Coverage.profdata' फ़ाइल मिलती है और इसे अपडेट किया जाता है। Llvm-cov टूल का उपयोग कर gcov को निर्यात करना संभवतः संभव है। – Sulthan

+6

@ सुल्तान मैं न तो युवा हूं और न ही अनुभवहीन हूं। मैं लाइनों को बहिष्कृत करना चाहता हूं जैसे कि एक विशेष पंक्ति पहुंच योग्य नहीं है। एक नज़र में जानने में बहुत मूल्य है कि फ़ंक्शन में प्रत्येक पहुंच योग्य रेखा को कवर किया गया है, और यह जांचने के लिए नहीं है कि एक्सकोड में चमकदार लाल रेखा वास्तव में केवल एक जोर है या नहीं। –

उत्तर

0

एक्सकोड 7 और बाद में (based on some forum posts), कवरेज सिस्टम एलएलवीएम की कवरेज पीढ़ी और रिपोर्टिंग तंत्र का उपयोग करता है, जिस प्रारूप के लिए http://llvm.org/docs/CoverageMappingFormat.html पर विस्तृत किया गया है। एक्सकोड 9 के रूप में, यह प्रारूप लाइनों (या अन्य संरचनाओं) को बहिष्कृत करने के किसी भी साधन का समर्थन नहीं करता है।

परिणामी मैपिंग llvm-cov द्वारा उपभोग योग्य प्रारूप (txt या html) में निर्यात किया जाता है, जो वास्तव में बहिष्करण तंत्र के रास्ते में बहुत अधिक नहीं है। llvm-cov में केवल कुछ पंक्तियों और क्षेत्रों के लिए "से अधिक" या "कम से कम" कवरेज पर रिपोर्ट करने के लिए कुछ सरल थ्रेसहोल्डिंग है, लेकिन मुझे संदेह है कि ऊपर दिए गए प्रश्न के आधार पर आप पूरी तरह से नहीं हैं।

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