2011-01-12 5 views
15

मुझे एप्लिकेशन परीक्षण (यानी डिवाइस पर) चलाने पर, मेरे ओसीयूनीट परीक्षण सूट के साथ कुछ समस्याएं आ रही हैं। कभी-कभी, मुझे एक मुश्किल त्रुटि मिलती है जो ओसीयूनीट कक्षाओं से फेंक दिया जाता है। मैं टेस्ट सूट में जोड़े गए फाइलों को देखने की कोशिश कर रहा हूं, लेकिन मेरे सिर को इसके चारों ओर नहीं मिल सकता है।डिवाइस पर OCUnit अनुप्रयोग परीक्षण सूट चलाते समय कभी-कभी त्रुटियां

मैं एप्पल प्रलेखन का पालन किया और अन्य ट्यूटोरियल को देखा जब तक अपने परीक्षण लक्ष्य निर्धारित करने के लिए, निम्न लक्ष्य (और दांतेदार निर्भरता) में जिसके परिणामस्वरूप है:

MyApp LogicTests

LogicTests ApplicationTests MyApp

MyAppTesting ApplicationTests

अंतिम (MyAppTesting) वह है जिसे मैं परीक्षण सूट शुरू करने के लिए डिवाइस पर चलाता हूं।

और के रूप में उल्लेख किया है, परीक्षण कभी कभी मुझे कंसोल में निम्न उत्पादन फेंकने शुरू करने के लिए असफल:

2010-11-17 12:02:48.537 VCCTesting[12018:307] *** Assertion failure in -[SenTestClassEnumerator init], /SourceCache/OCUnit/OCUnit-1685/SourceCode/SenTestingKit/SenTestClassEnumerator.m:137 

2010-11-17 12:02:48.556 VCCTesting[12018:307] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'objc_getClassList returned more classes than it should have.' 
*** Call stack at first throw: 
(
0 CoreFoundation      0x30897ed3 __exceptionPreprocess + 114 
1 libobjc.A.dylib      0x3002f811 objc_exception_throw + 24 
2 CoreFoundation      0x30897d15 +[NSException raise:format:arguments:] + 68 
3 Foundation       0x349f932f -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 62 
4 SenTestingKit      0x20107c29 -[SenTestClassEnumerator init] + 292 
5 SenTestingKit      0x201079fd +[SenTestClassEnumerator classEnumerator] + 24 
6 SenTestingKit      0x2010777d +[NSObject(SenTestRuntimeUtilities) senAllSubclasses] + 92 
7 SenTestingKit      0x201067b5 +[SenTestSuite updateCache] + 28 
8 SenTestingKit      0x20106753 +[SenTestSuite suiteForBundleCache] + 54 
9 SenTestingKit      0x201065db +[SenTestSuite structuredTests] + 14 
10 SenTestingKit      0x201065a1 +[SenTestSuite allTests] + 40 
11 SenTestingKit      0x20106573 +[SenTestSuite defaultTestSuite] + 14 
12 SenTestingKit      0x201057a3 +[SenTestProbe specifiedTestSuite] + 106 
13 SenTestingKit      0x20105d83 +[SenTestProbe runTests:] + 94 
14 Foundation       0x349c7e8d __NSFireDelayedPerform + 368 
15 CoreFoundation      0x3084e7fb __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14 
16 CoreFoundation      0x3084e2ad __CFRunLoopDoTimer + 860 
17 CoreFoundation      0x3081f7a5 __CFRunLoopRun + 1088 
18 CoreFoundation      0x3081f277 CFRunLoopRunSpecific + 230 
19 CoreFoundation      0x3081f17f CFRunLoopRunInMode + 58 
20 GraphicsServices     0x31e445f3 GSEventRunModal + 114 
21 GraphicsServices     0x31e4469f GSEventRun + 62 
22 UIKit        0x31e51123 -[UIApplication _run] + 402 
23 UIKit        0x31e4f12f UIApplicationMain + 670 
24 VCCTesting       0x000234ff main + 70 
25 VCCTesting       0x00002538 start + 40 
) 
terminate called after throwing an instance of 'NSException' 

किसी को क्या गलत हो सकता है पता है?

किसी भी मदद के लिए शुक्रगुज़ार, Kristofer

पी.एस. मैंने इसे ऐप देव मंचों पर पोस्ट किया है, लेकिन इसके साथ अभी तक कोई भाग्य नहीं है: https://devforums.apple.com/message/333890

+0

बस एक स्वच्छ और उसके बाद काम फिर से प्रयास मेरे लिए किसी भी तरह इस हिट ..। – canhazbits

उत्तर

19

क्या आप NSZombieEnabled है दाखिल? मैं था जब मैंने अपने यूनिट टेस्ट लॉन्च लक्ष्य के लिए मेरे तर्कों में एनएसजेम्बीएनेबल सेट किया था। मैंने सब कुछ करने की कोशिश की है (एक्सकोड/रेज को साफ़/छोड़ना टिंग सिम्युलेटर सामग्री)। अब तक का एकमात्र समाधान मेरे यूनिट परीक्षण लॉन्च

+0

अक्षम NSZombieEnabled मेरे लिए काम किया! धन्यवाद, एलेक्स! –

+0

हां, यह मेरे लिए भी काम करता है – Antoni

+0

मेरे लिए भी काम किया। –

0

मुझे लगता है कि मुझे पता चला है कि मुझे यह त्रुटि क्यों मिल रही थी - शायद वही बात है आपके साथ हो रहा है:

मेरे पास दो उत्पाद सेट हैं, एक आंतरिक बीटा परीक्षण (एक वरीयता फलक के साथ पूर्ण) और एक ऐप स्टोर रिलीज के लिए। दोनों उत्पाद लक्ष्य उसी उत्पाद नाम (PRODUCT_NAME बिल्ड सेटिंग्स में) के साथ स्थापित किए गए थे।

यह एक्सकोड 3.x में ठीक काम करता है, लेकिन एक्सकोड 4 किसी भी तरह से बीटा उत्पाद बनाने के दौरान स्टोर उत्पाद बनाने की कोशिश कर रहा था। मुझे लगता है कि यह उस बदलाव के कारण है जहां एक्सकोड अपनी व्युत्पन्न फाइलें रखता है - एक्सकोड 4 बीटा और स्टोर उत्पादों को उसी पथ पर संग्रहीत कर रहा था, इसलिए जब बीटा उत्पाद बनाया गया था, तो स्टोर आउटपुट फ़ाइल बदल दी गई और पुनर्निर्मित करने की आवश्यकता थी। ..

वैसे भी ... बदलते बीटा उत्पाद का नाम तय किया है अस्थायी रूप से तय हो गई मुद्दा ... मैं भी Info.plist में बंडल पहचानकर्ता बदल दिया है तो दो उत्पादों विभिन्न पहचानकर्ता। अब जब मैं एक उत्पाद बनाता हूं, तो दूसरा एक ही समय में नहीं बनाया जाता है, लेकिन परीक्षणों को चलाने पर मुझे अभी भी दुर्घटना हो जाती है :-(

मेरा एकमात्र विचार अब पूरी तरह से ताजा, प्रतिलिपि बनाने के लिए है सेटिंग्स और फ़ाइलों में अगर XCode 4 कुछ अलग करता है देखने के लिए। यही कारण है कि और इस मुद्दे को एप्पल के साथ एक समर्थन घटना ...

चीयर्स,

एडम

+0

उत्तर के लिए धन्यवाद, एडम! दुर्भाग्यवश, उसने मेरी समस्या का समाधान नहीं किया। लक्ष्यों के अलग-अलग उत्पाद नाम हैं ... इसके अलावा, मेरे पास XCode 3.2.4 के बाद से एक ही समस्याएं हैं, इसलिए मुझे नहीं लगता कि यह एक्सकोड 4 रिलीज से संबंधित है। :( –

+2

ओह, मैं बहुत जल्द ही बात की थी -। मैं अभी भी त्रुटि मिल रही है कभी कभी यह गायब हो जाता है मैं अलग से दोनों लक्ष्यों को साफ करने के बाद और फिर निर्माण और खरोंच से इकाई परीक्षण चलाने के लिए, लेकिन कभी कभी यह नहीं है ... मैं 'm एप्पल के साथ एक समर्थन घटना दाखिल है, तो हम देखेंगे जहां कि करता है! – adamcohenrose

+1

हा! एक समर्थन घटना दायर लेकिन एक बग को बढ़ाने के लिए कहा था मिल गया ... मैं इसे करूँगा जब मैं एक पल मिलता है। इस बीच, सभी लक्ष्यों को साफ करने का मतलब अक्सर होता है कि मैं बिना किसी परीक्षण के क्रैश किए बिना लक्ष्य को चला सकता हूं। – adamcohenrose

0

में ज़ोंबी को अक्षम करना था, मैं अभी तक 100% निश्चित नहीं हूं, लेकिन ऐसा लगता है कि प्रत्येक समस्या लक्ष्य के लिए अलग-अलग योजना बनाकर इस समस्या को हल किया जा सकता है। मैं यह त्रुटि एक बहुत आज दोपहर था, लेकिन बाद मैं विभिन्न परीक्षण लक्ष्यों के लिए अलग योजनाओं बनाई गई कुछ समय तक नहीं हुई है।

0
बस किसी को भी है कि मैं की तरह इस मुद्दे में आ सकते हैं के लिए

है:

KIFTester में
अभिकथन विफलता लोड - [SenTestClassEnumerator init], /SourceCache/OCUnit/OCUnit-5315/SourceCode/SenTestingKit/SenTestClassEnumerator.m : 136
न आया हुआ अपवाद 'NSInternalInconsistencyException', कारण की वजह से एप्लिकेशन समाप्त: 'objc_getClassList अधिक कक्षाओं लौटे तुलना में यह होना चाहिए।'

समस्या निकला GoogleAnalytics 3.0 3.0.3 को अपडेट किया गया है लेकिन अभी भी इन पुस्तकालयों में से किसी के साथ एक ही समस्या libGoogleAnalytics_debug.a libGoogleAnalyticsServices.a

इसके चारों ओर जाने के लिए मैं सिर्फ शामिल नहीं हैं होने के लिए उन्हें परीक्षण के लिए।

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