मैं सोच रहा हूं कि इसका परीक्षण कैसे किया जाए। मेरे पास एक तरीका है जो पैरामीटर लेता है, और उस पैरामीटर के कुछ गुणों के आधार पर यह एक और ऑब्जेक्ट बनाता है और उस पर काम करता है। कोड इस तरह दिखता है:मैं उद्देश्य-सी में किसी विधि के लिए आंतरिक ऑब्जेक्ट का परीक्षण कैसे कर सकता हूं?
- (void) navigate:(NavContext *)context {
Destination * dest = [[Destination alloc] initWithContext:context];
if (context.isValid) {
[dest doSomething];
} else {
// something else
}
[dest release];
}
क्या मैं सत्यापित करना चाहते हैं कि यदि context.isValid सच है, कि DoSomething गंतव्य पर कहा जाता है, लेकिन मुझे नहीं पता कि परीक्षण करने के लिए कैसे (या कि अगर भी है संभव) ओसीएमॉक या किसी अन्य पारंपरिक परीक्षण विधियों का उपयोग करके, क्योंकि ऑब्जेक्ट पूरी तरह से विधि के दायरे में बनाया गया है। क्या मैं इस बारे में गलत तरीके से जा रहा हूं?
यह सबसे आसान जवाब प्रतीत होता है, लेकिन यह गंतव्य वस्तु को कई क्षेत्रों में रहने के लिए थोड़ा गन्दा लगता है आसान परीक्षण का समर्थन करने के लिए, वास्तव में कहीं और इसकी आवश्यकता नहीं है। मुझे लगता है कि समझौता कहीं कहीं किया जाना चाहिए :) – Kevlar
हाँ; यदि आप एक अलग गंतव्य वस्तु को प्रतिस्थापित करने में सक्षम होना चाहते हैं, तो आपको इसे पास करने का कोई तरीका होना चाहिए। यह ऐसा करने का सबसे साफ तरीका है जिसे मैं जानता हूं। –