आप एक इकाई परीक्षण में क्या करना चाहते हैं यह सुनिश्चित कर लें कि विधि वह काम करे जो इसे करने के लिए किया जाता है। यदि विधि अपने कार्य को पूरा करने के लिए निर्भरताओं का उपयोग करती है, तो आप उन निर्भरताओं को मजाक करेंगे और सुनिश्चित करेंगे कि आपकी विधि उन वस्तुओं पर विधियों को कॉल करे जो उचित तर्कों पर निर्भर करती हैं। इस तरह आप अलगाव में अपने कोड का परीक्षण करते हैं।
इसका लाभ यह है कि यह आपके कोड के डिज़ाइन को बेहतर दिशा में चलाएगा। मॉकिंग का उपयोग करने के लिए, उदाहरण के लिए, आप स्वाभाविक रूप से निर्भरता इंजेक्शन का उपयोग करके अधिक decoupled कोड की ओर अग्रसर है।इससे आपको अपनी मॉक ऑब्जेक्ट्स को उन वास्तविक वस्तुओं के लिए आसानी से प्रतिस्थापित करने की क्षमता मिलती है, जिन पर आपकी कक्षा निर्भर करती है। आप इंटरफेस को कार्यान्वित करना भी समाप्त करते हैं, जो अधिक स्वाभाविक रूप से मजाक कर रहे हैं। इन दोनों चीजें अच्छे डिजाइन पैटर्न हैं और आपके कोड में सुधार करेंगे।
उदाहरण के लिए, आप अपने विशेष उदाहरण का परीक्षण करने के लिए, डेटाबेस के लिए कनेक्शन बनाने के लिए एक कारखाने पर निर्भर हो सकते हैं और एक निर्माता को कनेक्शन के माध्यम से निष्पादित पैरामीटरयुक्त SQL आदेशों का निर्माण करने के लिए एक बिल्डर पर निर्भर किया जा सकता है। आप इन ऑब्जेक्ट्स के इन मॉक किए गए संस्करणों को अपनी कक्षा में पास करेंगे और यह सुनिश्चित करेंगे कि कनेक्शन और कमांड सेट करने के लिए सही तरीके, सही कमांड बनाएं, इसे निष्पादित करें, और कनेक्शन को फाड़ें। या शायद, आप पहले से ही खुले कनेक्शन को इंजेक्ट करते हैं और बस कमांड बनाते हैं और इसे आमंत्रित करते हैं। बिंदु यह है कि आपकी कक्षा एक इंटरफेस या इंटरफेस के सेट के खिलाफ बनाई गई है और आप उन इंटरफेस को लागू करने वाली वस्तुओं की आपूर्ति करने के लिए मॉकिंग का उपयोग करते हैं और इनवॉर्टर रिकॉर्ड कर सकते हैं और इंटरफ़ेस से उपयोग की जाने वाली विधियों को सही रिटर्न मान प्रदान कर सकते हैं।