आम तौर पर साथ छोड़ दिया जाता है लगता है, अपने नियंत्रक एक साथ विभिन्न वस्तुओं प्लग और उन्हें सही क्रम में जोड़ता है। हो सकता है कि वह एक भंडार कहता है, कुछ वस्तुओं को पढ़ता है और उन्हें रेंडर विधि के माध्यम से लौटाता है। शायद वह कुछ अन्य हैंडलर/प्रबंधक जो सामान करते हैं उन्हें बुलाता है।
इसका मतलब है कि नियंत्रक एक उच्च स्तरीय घटक है। इससे अधिक बार यह इंगित करता है कि यूनिट परीक्षणों के बजाय कार्यात्मक परीक्षण क्रम में हैं। आपको अपने यूनिट परीक्षणों के साथ 100% कोड कवरेज प्राप्त करने का लक्ष्य नहीं रखना चाहिए। हो सकता है कि आप इस तरह से सोच सकें: यदि आप नियंत्रक कॉल (मॉडल, सत्यापन, फॉर्म, रिपोजिटरी) की सभी चीजों का परीक्षण करते हैं, तो क्या गलत हो सकता है? अधिकांश समय यह ऐसा होता है जब आप उत्पादन में शामिल सभी वास्तविक वर्गों का उपयोग करते समय केवल तभी देखते हैं।
मैं यह भी इंगित करना चाहता हूं कि टीडीडी का यह मतलब नहीं है कि सबकुछ इकाई-परीक्षण होना चाहिए। उच्च स्तरीय कोड के लिए कुछ कार्यात्मक परीक्षण करना ठीक है। जैसा कि कहा गया है, यदि आप यूनिट-टेस्ट के साथ निम्न-स्तरीय घटकों का परीक्षण करते हैं तो आपको केवल यह जांचना चाहिए कि वे एक साथ कैसे काम कर रहे हैं, जिन्हें आप मोक्स के साथ परीक्षण नहीं कर सकते क्योंकि आप मोक्स को बताते हैं कि वापसी मूल्य क्या है।
यदि आपका नियंत्रक सिस्टम के हिस्सों को प्लग करने से अधिक करता है तो आपको सामान को कम-स्तरीय कक्षाओं में पुन: सक्रिय करने के बारे में सोचना चाहिए, जिसे आप यूनिट-टेस्ट के साथ परीक्षण कर सकते हैं।
तो मेरा सुझाव आपके नियंत्रकों का परीक्षण करने के लिए कार्यात्मक परीक्षणों का उपयोग करना होगा और आपके मॉडल और आपके व्यापार तर्क सामग्री का परीक्षण करने के लिए यूनिट-टेस्ट का उपयोग करना होगा।
आप कार्यात्मक परीक्षण के साथ संघर्ष, तो आपको निम्न पढ़ सकते हैं:
क्या वास्तव में एक 'Response' वस्तु लौटने इसके साथ मुसीबत है? –
कुछ भी नहीं। मुझे बस इस तथ्य को पसंद नहीं है कि एक प्रतिक्रिया वस्तु नियंत्रक में बनाई गई है। मैं निर्भरता इंजेक्शन का दृढ़ आस्तिक हूं, और मुझे डीआई कंटेनर के अलावा किसी अन्य चीज़ में "नया" कीवर्ड देखने से नफरत है। शायद यह विश्वास गलत है। –