टेस्ट डबल किसी टेस्ट में वास्तविक निर्भरता को प्रतिस्थापित करता है। स्टब पूर्वनिर्धारित उत्तर देता है और कुछ भी जाँच नहीं करता है। मॉक एक स्टब है जो यह भी रिकॉर्ड करता है कि इसे कैसे कॉल किया गया था, ताकि टेस्ट यह सुनिश्चित कर सके कि इंटरैक्शन हुआ था — "charge was called once with 20" । फेक एक कार्यशील, सरलीकृत कार्यान्वयन है, जैसे कि इन-मेमोरी डेटाबेस या स्टेट को बनाए रखने वाला एपीआई।
स्टब्स उन परीक्षणों के लिए उपयुक्त हैं जिनमें केवल निर्भरता से उत्तर की आवश्यकता होती है। मॉक्स उन परीक्षणों के लिए उपयुक्त हैं जहाँ कॉल ही वह व्यवहार है जिसकी जाँच की जा रही है। फेक्स उन परीक्षणों के लिए उपयुक्त हैं जो अनुक्रमों का अभ्यास करते हैं — बनाना, फिर पढ़ना, फिर अपडेट करना — जहाँ पूर्वनिर्धारित उत्तरों को प्रत्येक चरण का अनुमान लगाना होगा। HTTP परीक्षण में, इन तीनों को अक्सर "mock APIs" कहा जाता है।
अधिक मॉकिंग का मतलब बेहतर आइसोलेशन होता है। अत्यधिक मॉक किए गए टेस्ट इस बात पर जोर देते हैं कि कोड कैसे लिखा गया है, न कि वह क्या करता है, और हर रिफैक्टर पर विफल हो जाते हैं, जबकि वास्तविक एकीकरण बग्स को नज़रअंदाज़ कर देते हैं। एक नकली सेवा जो वास्तविक सेवा की तरह व्यवहार करती है, अक्सर कम सेटअप के साथ अधिक बग पकड़ लेती है।
यह प्लेग्राउंड कड़ाई से देखा जाए तो एक नकली है: आपके सैंडबॉक्स में किए गए लेखन बने रहते हैं, इसलिए एक POST बाद के GET के लिए दृश्यमान होता है, संस्करण आगे बढ़ते हैं, और स्टॉक समाप्त हो जाता है - ऐसा व्यवहार एक स्टब में नहीं हो सकता।
सभी शब्द · परीक्षण तकनीकें · सभी 39 मॉक REST API
आखरी अपडेट