2016-08-01 26 views
5

मेरा एप्लिकेशन प्रारंभ में मैक प्लेटफ़ॉर्म के लिए नहीं लिखा गया था, इसलिए इसकी अपनी इकाई-परीक्षण प्रणाली है जिसे कमांड लाइन द्वारा ट्रिगर किया जा सकता है। क्या एक्सकोड में कोड कवरेज समर्थन का उपयोग करके इसे निष्पादित करना संभव है?एक्सकोड और कोड कवरेज

मैंने इसे यूनिटटेस्ट के रूप में चलाने की कोशिश की जो मेरे आवेदन के 'मुख्य (...)' फ़ंक्शन को मैन्युअल रूप से ट्रिगर करता है (कोड ब्लॉक देखें), लेकिन चूंकि यह प्रक्रिया एप्लिकेशन 'xctest' द्वारा शुरू की गई है मेरे आवेदन बंडल, आदि से संसाधनों की तरह बहुत सी चीजें गायब हैं (गलत या गलत पथ, ...)।

- (void)testExample { 
    int main(int argc, char* argv[]); 
    main(...); 
} 

वहाँ किसी भी तरह से सिर्फ Xcode बताने के लिए है कि मेरे आवेदन शुरू किया जाना चाहिए है तो यह कर सकते हैं उत्पादन कि Xcode के अंदर समीक्षा की जा सकती कोड कवरेज?

उत्तर

0

मैंने एक्सकोड कवरेज टूल का उपयोग नहीं किया लेकिन मैंने पहले gcov का उपयोग किया था। वैसे भी this article में जानकारी है कि llvm कवरेज रिपोर्ट कैसे बनाएं। तो आप llvm के कवरेज झंडे के साथ अपने यूनिट-टेस्ट सिस्टम का उपयोग कर सकते हैं और फिर llvm-profdata टूल के साथ .profdata रिपोर्ट बना सकते हैं।

जैसा कि मैं समझता हूं कि एक्सकोड के कोड कवरेज टूल भी .profdata रिपोर्ट बनाते हैं और इसका उपयोग करते हैं। मेरे पास कोई सीधा समाधान नहीं है लेकिन आपको इस जानकारी के साथ कुछ मिल सकता है। यदि आपको Xcode को अपना .profdata का उपयोग करने का कोई तरीका मिल गया है तो यह किया गया है :)

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