कभी-कभी एक मॉड्यूल या वर्ग के निजी कार्य केवल कार्यक्षमता के आंतरिक निकाले जाने वाले आंतरिक इकाई होते हैं, जो अपने स्वयं के परीक्षणों के लायक हो सकते हैं। तो क्यों नहीं उनका परीक्षण किया जाए? हम होगा यदि / जब वे निकाले रहे हैं पर बाद में उन्हें परीक्षण लिखें। तो क्यों नहीं अब परीक्षण लिखें, जब वे अभी भी उसी फ़ाइल का हिस्सा हैं?
प्रदर्शित करना:
सबसे पहले, मैंने लिखा था module_a। अब मैं इसके लिए परीक्षण लिखना चाहता हूं। मैं 'निजी' फ़ंक्शन का परीक्षण करना चाहूंगा _private_func। मुझे समझ में नहीं आ रहा है कि मैं इसके लिए एक परीक्षण क्यों नहीं लिखूंगा, अगर बाद में मैं इसे अपने स्वयं के आंतरिक मॉड्यूल पर फिर से लागू कर सकता हूं, और फिर इसके लिए परीक्षण लिख सकता हूं ।
मान लीजिए कि मेरे पास निम्नलिखित कार्यों के साथ एक मॉड्यूल है (यह एक वर्ग भी हो सकता है):
def public_func(a):
b = _do_stuff(a)
return _do_more_stuff(b)
_do_stuffऔर _do_more_stuffमॉड्यूल के 'निजी' कार्य हैं।
मैं इस विचार को समझता हूं कि हमें केवल सार्वजनिक इंटरफ़ेस का परीक्षण करना चाहिए, कार्यान्वयन विवरण नहीं। हालाँकि, यहाँ बात है:
_do_stuffऔर _do_more_stuffमॉड्यूल की कार्यक्षमता के बहुमत में शामिल हैं। उनमें से प्रत्येक एक अलग, 'आंतरिक' मॉड्यूल का सार्वजनिक कार्य हो सकता है। लेकिन वे अभी तक विकसित नहीं हुए हैं और अलग-अलग फ़ाइलों को निकालने के लिए पर्याप्त बड़े हैं।
इसलिए इन कार्यों का परीक्षण करना सही लगता है क्योंकि वे कार्यक्षमता की महत्वपूर्ण इकाइयाँ हैं। यदि वे सार्वजनिक कार्यों के रूप में अलग-अलग मॉड्यूल में थे, तो हमने उनका परीक्षण किया होगा। तो जब वे अभी तक (या कभी भी) एक अलग फ़ाइल में नहीं निकाले जाते हैं तो उनका परीक्षण क्यों नहीं करते हैं?
