2010-09-10 10 views
7

XCode 3.2.4 और iOS SDK 4.1 करने के लिए है कि मेरे इकाई परीक्षण किसी भी अब अपने iOS परियोजना के साथ काम नहीं कर रहे नेतृत्व करने के लिए हाल ही में अपग्रेड करने के बाद। परियोजना वर्तमान में केवल सिम्युलेटर पर चल रही है, वास्तविक हार्डवेयर नहीं।समस्या कर तर्क परीक्षण XCode 3.2.4 उन्नयन

मैं एक डमी परीक्षण मामले के साथ एक नया खाली परियोजना कहा कि हमेशा पारित करेंगे करने की कोशिश की है, लेकिन यह या तो काम करते हैं, मुझे इस परिणाम दे नहीं करता है:

जब आदेश उत्पादन से निपटने एक आंतरिक त्रुटि हुई:
- [XCBuildLogCommandInvocationSection setTestsPassedString:]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण के लिए भेजा 0x20176e320
जब आदेश उत्पादन से निपटने एक आंतरिक त्रुटि हुई:
- [XCBuildLogCommandInvocationSectionRecorder endMarker]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण के लिए भेजा 0x201257de0

+०१२३५१६४१०

है किसी और को XCode 3.2.4 और iOS SDK 4.1 का उपयोग कर अपने परीक्षण मामलों के साथ मुद्दों कर?

उत्तर

4

यह रिपोर्टिंग कोड समय क्षेत्र के मुद्दों का सम्मान न के कुछ हिस्से के साथ एक प्रतिगमन हो रहा है। आउटपुट को शुरू होने से पहले समाप्त होने के रूप में टैग किया जाता है, इसलिए बहुत भ्रमित और चुटकुले हो जाता है।

एक काम के आसपास, कि मैं गूगल पर कहीं पाया, लक्ष्य की भागो स्क्रिप्ट चरण को बदलने के लिए है।

बदलें

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

को यह मुद्दा दौर काम कर रहा है, बजाय इसे सुलझाने के लिए, लेकिन काम करता है।

+0

अभी ठीक है, धन्यवाद! – leinz

+0

क्या यह कोई संकेत देता है कि परीक्षण विफल हुए हैं या नहीं? क्योंकि यदि नहीं, तो आप यूनिट टेस्ट लक्ष्य को पूरी तरह अक्षम कर सकते हैं (इसलिए आप जानते हैं कि यह नहीं चल रहा है), इसे चलाने और परिणामों को छिपाने के बजाय (ताकि आप भूल जाएं और सोचें कि यह गुजर रहा है)। – benzado

+0

जहाँ तक मैं कह सकता हूं यह केवल फैंसी घोंसले के बिना बिल्ड विंडो में आउटपुट को डंप करता है, ताकि आप अभी भी पास किए गए परीक्षणों और/या त्रुटियों की सूची देख सकें ।यह परिणाम छिपाता नहीं है, उतना ही प्रारूपित नहीं करता है। – creednmd

2

आपकी समस्या को ठीक करने का मेरा सुझाव है GHUnit का उपयोग करने पर विचार करना। यह आपके मौजूदा सेनटेस्टकेस कक्षाओं के साथ काम करता है, लेकिन इसमें कक्षाओं/दावों का परीक्षण करने का एक सेट भी है। आप बस एक नया लक्ष्य निर्धारित करते हैं और अपने ड्राइवर वर्ग पर इंगित करते हैं। आपको पूरी तरह से काम कर रहे परीक्षण दोहन मिलते हैं जो सिम्युलेटर और वास्तविक उपकरणों दोनों पर आपके परीक्षण चला सकते हैं। मुझे टेस्ट बंडल सेट करने और इसे प्रबंधित करने के लिए इसे अधिक आसान और अधिक मजबूत लगता है।

http://github.com/gabriel/gh-unit

+1

प्रतिक्रिया की सराहना करें लेकिन यह समस्या का समाधान नहीं करता है। मुझे एक ही त्रुटि मिल रही है और यह जानना चाहेंगे कि इसे कैसे ठीक किया जाए। – Patrick

+0

ऐसा लगता है कि इसे लॉगिंग कोड के साथ करना है। मुझे कोई संकेत नहीं है कि इसे कैसे ठीक किया जाए। आपको शायद इसे अपने निर्माण के हिस्से के रूप में अक्षम करना होगा और यूनिट परीक्षण मैन्युअल रूप से चलाएं :( – logancautrell

+0

मेरे प्रश्न का बिल्कुल जवाब नहीं है, लेकिन अब अच्छा है कि अब GHUnit के बारे में जानें। – leinz

4

जारी करने के लिए वैकल्पिक हल एप्पल के डेवलपर फोरम में पोस्ट किया जाता है। यह मेरी परियोजना में ठीक काम करता है। वेबसाइट पर जाएं और इसे आजमाएं।

+0

अच्छा लगता है, सिवाय इसके कि यह एक होने की आवश्यकता है पेड डेवलपर प्रोग्राम के सदस्य – leinz

+0

स्रोत कोड गिटहब में पोस्ट किया गया है। http://gist.github.com/586296 – yusami