2011-08-08 4 views
6

ऐसा लगता है कि मेरे पास सबकुछ सही है। जब मैं कमांड-यू चलाता हूं (या मेनू से उत्पाद - परीक्षण लेता हूं) परीक्षण ठीक चलाता है।xcode 4 में आईओएस ऐप के प्रत्येक बिल्ड (रन) से पहले स्वचालित रूप से OCUnit तर्क परीक्षण कैसे चलाएं?

सर्वश्रेष्ठ अभ्यास होना चाहिए, कि परीक्षण आदर्श प्रत्येक निर्माण के दौरान, जितनी बार संभव चलाना चाहिए (प्रत्येक चलाने के दौरान समझ में)।

कैसे यह करने के लिए XCode 4 मजबूर करने के लिए? मैं करने की कोशिश की:

  • सेटअप लक्ष्य निर्भरता (मुख्य एप्लिकेशन लक्ष्य रखा परीक्षण लक्ष्य पर निर्भर होना)
  • मुख्य एप्लिकेशन लक्ष्य निर्माण सेटिंग्स योजना में
  • टिक भी परीक्षण लक्ष्य में "निर्माण के बाद परीक्षण" सक्षम रन मुख्य एप्लिकेशन योजना

लेकिन कुछ नहीं के लिए संपादक काम करने के लिए लगता है। क्या किसी को सफलतापूर्वक स्थापित करना है?

+0

प्रत्येक निर्माण से पहले यूनिट परीक्षण चलाने के लिए आवश्यक है? यदि आप बिल्ड बिल्ड बिल्डिंग सेटिंग को हां में सेट करते हैं और उत्पाद> बिल्ड फॉर टेस्टिंग के लिए बिल्ड का चयन करते हैं, तो एक्सकोड प्रोजेक्ट बनाता है और परीक्षण चलाता है। –

+0

हां। लेकिन यह वही है जैसा मेरे पास है - बस जब भी कमांड-यू दबाएं और परीक्षण चलें। लेकिन मैं इसे अक्सर दबाकर ऊब रहा हूं। और मैं अक्सर भूल जाता हूँ। और फिर कभी-कभी होता है, कि मुझे कोड में खोदना चाहिए और एक बग मिलना चाहिए। अगर मैं प्रत्येक निर्माण के साथ परीक्षण चलाता तो तुरंत पकड़ा जा सकता था। और यह भी सर्वोत्तम अभ्यास है - प्रत्येक बिल्ड के दौरान स्वचालित रूप से परीक्षण चलाएं ("बिल्ड" मेरा मतलब है कि हर बार जब मैं ऐप चलाने के लिए चाहता हूं) –

उत्तर

10

अंत में यह समझ से बाहर है, हालांकि अभी भी सही नहीं:

  1. अपने परीक्षण लक्ष्य पर हाँ करने के लिए "का निर्माण के बाद टेस्ट" यकीन है कि सेट कर सकते हैं।
  2. अपने मुख्य अनुप्रयोग योजना पर - निर्माण - "के अंतर्गत चलाने" भी टिकटिक परीक्षण बंडल।

यह जब एप्लिकेशन चला रहे अपने परीक्षण लक्ष्य का निर्माण करता है। परीक्षण के बाद "टेस्ट के बाद टेस्ट" के लिए भी धन्यवाद। अगर सब कुछ ठीक है, तो ऐप सिम में शुरू होता है। यदि कोई असफल परीक्षण है, तो आप STAssert का उपयोग करते हुए क्रैश प्राप्त करते हैं। OCMock के मामले में, आप जांच सकते हैं कि लॉग इंस्पेक्टर में वास्तव में क्या गलत हुआ।

कभी कभी breakpoints काम नहीं करते। उन्हें काम करने के लिए उत्पाद की कोशिश करें - इमारत के बिना कार्रवाई - परीक्षण करें।