नहीं, किसी तृतीय-पक्ष सेवा के नीचे होने पर आपके परीक्षण सूट में विफल होने के लिए यह सहायक नहीं है। लेकिन आप सेवा के साथ अपने एकीकरण की पूरी तरह से जांच करना चाहते हैं। निम्नलिखित रणनीति मेरे लिए अच्छी तरह से काम किया है:
एक मॉड्यूल में तीसरे पक्ष सेवा को अलग जो करने के लिए कनेक्शन encapsulating के अलावा यथासंभव कम करता है (के एक वर्ग का कहना है, लेकिन फिर भी अपनी भाषा modularizes ठीक है) सेवा। कक्षा पर विधियों को लिखें ताकि त्रुटियों के बीच अंतर बताना संभव हो जो सेवा की गलती और त्रुटियां हैं जो आपकी गलती हैं। उदाहरण के लिए, सर्विस-डाउन अपवादों को एक सामान्य सुपरक्लास दें। ताकि
सेवा वर्ग के
लिखें इकाई परीक्षण एक सेवा-नीचे त्रुटि तब होती है, लेकिन परीक्षण पास त्रुटि लॉग इन करें।
यदि कोई अन्य त्रुटि होती है, तो सामान्य रूप से विफल हो जाती है।
इन परीक्षणों को लिखें ताकि वे लाइव सेवा के खिलाफ भाग सकें। इन परीक्षणों की एक छोटी संख्या होनी चाहिए, इसलिए उन्हें टेस्ट सूट रनटाइम के लिए कोई समस्या नहीं बनाना चाहिए।
एकीकरण परीक्षण समेत अन्य सभी परीक्षणों से सेवा कक्षा को स्टब या नकली करें। (यहां "एकीकरण परीक्षण" से मैं परीक्षणों के बारे में बात कर रहा हूं जो आपके स्वयं के कोड की सभी परतों का परीक्षण करते हैं, भले ही वे तीसरे पक्ष की सेवा के साथ बातचीत न करें।)
जब सेवा कक्षा को एकीकरण परीक्षण से बाहर या मजाक कर रहे हों, सर्विस क्लास के सार्वजनिक एपीआई को स्टब या मॉक न करें, बल्कि सेवा स्तर से कनेक्ट करने के लिए उपयोग की जाने वाली सेवा कक्षा या लाइब्रेरी का एक आंतरिक तरीका शायद कुछ निचले स्तर को दबाएं या नकल करें। सेवा कक्षा को कॉल करते समय यह एकीकरण कीड़े को रोकता है। यूनिट परीक्षणों में, सर्विस क्लास के सार्वजनिक एपीआई को स्टब या मॉक करें क्योंकि आप किसी भी कक्षा में होंगे।
मार्टिन Buberl चलता है, यह एकीकरण परीक्षणों जहां सेवा वर्ग टोंटदार या बाहर मज़ाक उड़ाया नहीं है की एक अलग परीक्षण चलाने के लिए उपयोगी हो सकता है।ईमानदार होने के लिए, यह ऐसी चीज है जिस पर कई परियोजनाओं में चर्चा की गई है, लेकिन मुझे नहीं लगता कि यह कभी किया गया है। जब कोई तृतीय-पक्ष सेवा विफल हो जाती है, तो हम इसे परीक्षण त्रुटियों से पहले पता लगाने से पहले उत्पादन त्रुटियों (निगरानी या ग्राहक सहायता द्वारा रिपोर्ट) से हमेशा इसके बारे में पता लगाते हैं।
स्रोत
2016-02-01 14:06:56
क्या आपका औपचारिक निर्माण इसके बिना पूरी तरह से काम करेगा? यदि नहीं, तो हाँ, इसका परीक्षण करें। सब कुछ परीक्षण करें। मर्फी असली (और पूर्णांक) है। और वह * कोड * प्यार करता है। –