ओसीयूनीट (सेनटेस्टिंगकिट, एक्सकोड के साथ शामिल) में STAssert
मैक्रोज़ पर एक नज़र डालें।
अपनी खुद की इकाई परीक्षण बंडल में, आप एक काल्पनिक -shouldBeValid
तरह के तरीकों जो तब ही पास फोन/मशीनरी कि STAssert
मैक्रो अब क्या विफल हो जाएगा जोड़ने के लिए NSObject
पर एक वर्ग को लागू कर सकते हैं।
मामले में आप सी पूर्वप्रक्रमक के साथ घनिष्ठ रूप से परिचित नहीं हैं ...
आप शायद भी अपने मैक्रो के लिए एक #define
उपयोग करने के लिए __FILE__
और __LINE__
जब अपने BDD परीक्षण के लिए सही मूल्यों के माध्यम से पारित करना होगा असफल। उदाहरण के लिए, अगर आप इस तरह कुछ करने के लिए हो सकता है:
@interface NSObject (BehaviorDrivenDevelopment)
- (void)shouldBeValidInFile:(const char *)file line:(int)line;
@end
#define shouldBeValid shouldBeValidInFile:__FILE__ line:__LINE__
इस तरह आप इसे इस तरह आह्वान होगा:
[[someObject methodUnderTest:argument] shouldBeValid];
कोड संकलक देखता है यह होगा:
[[someObject methodUnderTest:argument] shouldBeValidInFile:__FILE__ line:__LINE__];
__FILE__
और __LINE__
प्रीप्रोसेसर मैक्रोज़ आपकी फ़ाइल स्रोत फ़ाइल में वर्तमान फ़ाइल और लाइन में विस्तारित होंगे।
इस तरह, जब आपके पास असफल परीक्षण होता है, तो यह Xcode पर वापस भेजने के लिए SenTestingKit को उपयुक्त जानकारी पास कर सकता है। विफलता बिल्ड परिणाम विंडो में ठीक से दिखाई देगी, और इसे क्लिक करने से आपको अपने परीक्षणों में विफलता के सही स्थान पर ले जाया जाएगा।
स्रोत
2009-08-23 23:17:53
प्रोजेक्ट सक्रिय प्रतीत होता है और मुझे जो चाहिए वह दिखता है। धन्यवाद! –
धन्यवाद यह बहुत अच्छा है। –