मैं अपने कोड (AppDelegate.m में उदाहरण के लिए) है कि यूनिट टेस्ट मैचों के लिए संकलित नहीं किया जाना चाहिए में वर्गों है, जैसेXcode: सशर्त डीबग/टेस्ट कोड के लिए पूर्वप्रक्रमक मैक्रो
#ifndef CONFIGURATION_TESTS
// Code that should not be compiled in the Unit Tests
#endif
लक्ष्य स्थापित कर रहे हैं जब आप एक नई परियोजना बनाते समय 'यूनिट टेस्ट जोड़ें' चुनते हैं तो एक्सकोड द्वारा। प्रोजेक्ट फ़ाइल में, मैंने MyAppTests बिल्ट-टार्गेट के लिए प्रीप्रोसेसर मैक्रोज़ में फ्लैग CONFIGURATION_TESTS को जोड़ा है लेकिन MyApp लक्ष्य के लिए नहीं।
यह मुझे मिली कई पोस्टों में सुझाया गया तरीका था।
लेकिन यह काम नहीं करता है, क्योंकि (मुझे लगता है) MyAppTests लक्ष्य पर निर्भरता के रूप में MyApp लक्ष्य है और क्योंकि AppDelegate.m MyApp लक्ष्य में जोड़ा गया है, यह MyApp बिल्ड सेटिंग्स के साथ संकलित हो जाता है और इसलिए, CONFIGURATION_TESTS परिभाषित नहीं है।
इकाई परीक्षण में फ़ाइलों मैक्रो परिभाषित किया और उम्मीद के रूप में व्यवहार किया जाता है (क्योंकि परीक्षण फ़ाइलों को केवल MyAppTests द्वारा निर्माण कर रहे हैं को लक्षित?)
किसी को भी ऐसा करने के तरीके पता है, मैंने सोचा यह एक आम होगा समस्या ...
पर एक विस्तृत चरण-दर-चरण स्पष्टीकरण से अधिक लिखा है मैं एक ही मुद्दा है और यह समझ नहीं – shawnwall
"यह काम नहीं करता है: 1) CONFIGURATION_TEST हमेशा सच है? 2) कभी सच नहीं? 3) यूनिट टेस्ट में काम करता है लेकिन ऐप में नहीं? 4) ऐप में काम करता है लेकिन इकाई परीक्षण नहीं करता है? (पूछताछ दिमाग जानना चाहते हैं ...) – geowar