आपकी प्रारंभिक धारणा कि आंतरिक विधि का परीक्षण करना आवश्यक है, यूनिट परीक्षण के बारे में एक आम शुरुआत गलत धारणा है।
अनुमोदित, ऐसे मामले मौजूद हो सकते हैं जहां अलगाव में निजी तरीकों का परीक्षण किया जाना चाहिए, लेकिन 99% आम मामला यह है कि निजी तरीकों का परीक्षण किया जा रहा है क्योंकि वे सार्वजनिक तरीकों को अपने परीक्षण पास करते हैं। सार्वजनिक तरीकों से निजी तरीकों को बुलाया जाता है।
किसी कारण से निजी तरीके हैं। यदि वे बाह्य परीक्षण योग्य व्यवहार का नतीजा नहीं करते हैं, तो आपको उनकी आवश्यकता नहीं है।
क्या आपके सार्वजनिक परीक्षणों में से कोई भी विफल रहता है यदि आप उन्हें हटा देते हैं? यदि हां, तो वे पहले ही परीक्षण किए जा रहे हैं। यदि नहीं, तो आपको उनकी आवश्यकता क्यों है? पता लगाएं कि आपको उनके लिए क्या चाहिए और फिर सार्वजनिक इंटरफ़ेस के खिलाफ परीक्षण में व्यक्त करें।
टीडीडी के साथ एक मुख्य लाभ यह है कि आपका कोड बदलना आसान हो जाता है। यदि आप आंतरिक परीक्षण करना शुरू करते हैं, तो कोड कठोर और बदलना मुश्किल हो जाता है।
मोक एमएसटीएस्ट या एमब्यूनिट का विकल्प नहीं है। वे यूनिट परीक्षण ढांचे दोनों हैं, जबकि मोक एक मॉकिंग फ्रेमवर्क है। हालांकि लगभग हमेशा संयोजन के रूप में प्रयोग किया जाता है, वे दो बहुत ही अलग चीजें हैं। बीटीडब्ल्यू +1 आपके मालिक को, मोक उत्कृष्ट है ;-) –