मैंने कुछ यूनिट परीक्षणों को लिखा है जो एक FTP सर्वर API के आस-पास एक रैपर का परीक्षण करते हैं।क्या एपीआई के लिए एक रैपर का परीक्षण करते समय मेरे यूनिट परीक्षण सीधे एपीआई को छूना चाहिए?
यूनिट परीक्षण और FTP सर्वर दोनों एक ही मशीन पर हैं।
आवरण एपीआई हमारे मंच में तैनात किया जाता है और दोनों दूरस्थ और वेब सेवा स्थितियों में किया जाता है। रैपर एपीआई अनिवार्य रूप से एक्सएमएल संदेशों को उपयोगकर्ताओं को जोड़ने/हटाने/अपडेट करने, पासवर्ड बदलने, अनुमतियों को संशोधित करने जैसे कार्यों को करने के लिए लेता है ... उस तरह की चीज।
यूनिट परीक्षण में, उपयोगकर्ता को वर्चुअल डोमेन में जोड़ने का कहना है, मैं एपीआई को भेजने के लिए एक्सएमएल संदेश बना देता हूं। एपीआई यह काम करता है और ऑपरेशन सफल या असफल रहा था (त्रुटि कोड, सत्यापन विफलताओं आदि) के बारे में स्थिति जानकारी के साथ एक प्रतिक्रिया देता है।
यह सत्यापित करने के लिए कि क्या एपीआई रैपर कोड वास्तव में सही काम करता है (अगर प्रतिक्रिया सफलतापूर्वक इंगित होती है), मैं एफ़टीपी सर्वर के COM एपीआई का आह्वान करता हूं और यह देखने के लिए सीधे अपने स्टोर से पूछता हूं कि उदाहरण के लिए, जब उपयोगकर्ता खाता बनाते हैं, उपयोगकर्ता खाता वास्तव में बनाया गया था।
इस गंध बुरा है?
अद्यतन 1: @ जेरेमी/निक: रैपर परीक्षण का केंद्र है, एफ़टीपी सर्वर और इसकी COM एपीआई तीसरे पक्ष के उत्पाद हैं, संभवतः अच्छी तरह से परीक्षण और स्थिर हैं। रैपर एपीआई को एक्सएमएल संदेश का विश्लेषण करना है और फिर एफ़टीपी सर्वर के एपीआई का आह्वान करना है। मैं कैसे सत्यापित करूं, और यह एक मूर्ख मामला हो सकता है, कि उपयोगकर्ता खाते की एक विशेष संपत्ति रैपर द्वारा सही ढंग से सेट की गई है। उदाहरण के लिए रैपर कोड में टाइपो के कारण गलत संपत्ति या FTP खाते की विशेषता सेट करना। एक अच्छा उदाहरण अपलोड करने और गति सीमा डाउनलोड करने के लिए, यह रैपर कोड में स्थानांतरित हो सकता है।
अपडेट 2: उत्तर के लिए सभी को धन्यवाद। लोग mocks का उपयोग कर सुझाव के लिए, यह मेरे मन को पार किया था, लेकिन प्रकाश वहाँ पर अभी तक परिवर्तित नहीं किया है और मैं अभी भी अपने सिर दौर पाने के लिए मैं FTP सर्वर के एक नकली के साथ काम करने के लिए अपने आवरण मिलेगा संघर्ष कर रहा हूँ । मोजे कहाँ रहते हैं और क्या मैं COM API को कॉल करने के बजाय उपयोग करने के लिए रैपर एपीआई में कहा गया मैक्स का एक उदाहरण पास करता हूं? मैं मजाक करने के बारे में जानता हूं लेकिन मेरे सिर को घेरने के लिए संघर्ष कर रहा हूं, अधिकतर क्योंकि मुझे लगता है कि अधिकांश उदाहरण और ट्यूटोरियल इतने अमूर्त हैं और (मुझे कहना शर्मिंदा है) समझ में नहीं आता है।
उम्र के लिए इस पर mulled करने के बाद मैं अब अंत में समझ में जब मैं इकाई परीक्षण कर रहा हूँ , घटक परीक्षण या एकीकरण परीक्षण और इन वास्तव में क्या मतलब है। – Kev