मैं न्यूटिट का उपयोग करके निजी तरीकों और आंतरिक कक्षाओं का परीक्षण कैसे करूं?एनयूनीट के साथ निजी विधियों और आंतरिक कक्षाओं का परीक्षण करें?
उत्तर
मैं आमतौर पर नहीं करता हूं। यदि आप सार्वजनिक तरीकों का पूरी तरह से परीक्षण करते हैं कि निजी विधियों और आंतरिक कक्षाओं का उपयोग करें तो आप इसे बिना किसी खुलासा के निजी कार्यक्षमता की पूरी श्रृंखला का परीक्षण करने में सक्षम होना चाहिए।
आपको परीक्षण-विशिष्ट व्युत्पन्न कक्षा के माध्यम से संभवतः उन्हें आमंत्रित करने के साधनों का खुलासा करना होगा।
निजी तरीके:
आप गैर सरकारी तरीकों का परीक्षण करने की कोशिश कर रहे हैं, यह आम तौर पर आप गलत कर रहे हैं।
यदि ऐसी कार्यक्षमता है जिसे आप परीक्षण करना चाहते हैं, लेकिन अपनी कक्षा में सार्वजनिक नहीं करना चाहते हैं, तो कोड आपको कुछ बताने की कोशिश कर रहा है। आपकी कक्षा में शायद बहुत अधिक जिम्मेदारियां हैं। आपको गंभीरता से उस नई कार्यक्षमता को नई कक्षा में निकालने, नई कक्षा के लिए परीक्षण लिखने और नई कक्षा के नए वर्ग का निजी उदाहरण बनाने पर गंभीरता से विचार करना चाहिए।
आंतरिक कक्षाएं:
यह एक है, और अधिक मान्य है खासकर यदि आप दूसरों के पुन: उपयोग करने के लिए एक वर्ग पुस्तकालय लिख रहे हैं। आपके पास कक्षाएं हो सकती हैं जो सामान्य उपयोग के लिए डिज़ाइन नहीं की गई हैं, लेकिन आप यूनिट परीक्षण लिखना चाहते हैं।
इस मामले के लिए, InternalsVisibleToAttribute पर एक नज़र डालें।
जिस तरह से मैं इसे संभालता हूं वह यह है कि मैं अपने सभी तरीकों को सार्वजनिक करता हूं। मुझे पता है कि बुरा लगता है, लेकिन मेरे साथ एक पल भालू।
आईओसी का उपयोग करते समय आपके पास प्रत्येक कक्षा के लिए एक इंटरफ़ेस है जिसमें इसमें कुछ तर्क है। तो मूल रूप से आप इंटरफेस के खिलाफ कोड करते हैं, न कि वास्तविक कार्यान्वयन। यह सब करने के लिए आप क्या करते हैं सभी विधियों को सार्वजनिक रूप से चिह्नित करना और यह उस वर्ग को प्रभावित करने के तरीके को प्रभावित नहीं करता है, सिवाय इसके कि उस वर्ग में प्रत्येक विधि के लिए यूनिट परीक्षण लिखना संभव हो जाता है।
- 1. स्केल ऑब्जेक्ट आंतरिक कक्षाओं और विधियों के साथ निजी दायरा
- 2. इकाई परीक्षण और वस्तुओं का दायरा - निजी/आंतरिक तरीकों आदि का परीक्षण कैसे करें?
- 3. एनयूनीट के साथ व्युत्पन्न कक्षाओं में सेटअप?
- 4. यूनिट परीक्षण निजी विधियों के लिए लागू
- 5. यूनिट परीक्षण ServiceStack.OrmLite एनयूनीट के साथ जब मैं सेवा कक्षाओं में डीबी इंजेक्ट करता हूं?
- 6. टीमसिटी और रनिंग एनयूनीट परीक्षण
- 7. सार्वजनिक विधियों के माध्यम से संशोधित निजी फ़ील्ड का परीक्षण कैसे करें
- 8. वीबीएनईटी और एनयूनीट - टीडीडी
- 9. एनयूनीट एक एकल परीक्षण
- 10. एनयूनीट परीक्षण कोड
- 11. निजी स्थैतिक विधियों का उपयोग
- 12. एनयूनीट एकीकरण परीक्षण और निर्भरता इंजेक्शन
- 13. कक्षाओं और विधियों के बीच साझा चर
- 14. जेनेरिक कक्षाओं/विधियों के लिए यूनिट परीक्षण दृष्टिकोण
- 15. मैं रीशेपर के साथ एनयूनीट परीक्षण कैसे बना सकता हूं?
- 16. जावा नेस्टेड कक्षाओं में, संलग्न वर्ग आंतरिक कक्षाओं के निजी सदस्यों तक पहुंच सकता है?
- 17. आंतरिक कक्षाओं के बिना PHP बिल्डर पैटर्न
- 18. NUnit, TestDriven.Net: आंशिक परीक्षण कक्षाओं के साथ डुप्लिकेट परीक्षण परिणाम
- 19. एक निजी आंतरिक कक्षा का नकल कैसे करें
- 20. पुन: प्रयोज्य विधियों और निजी गुणों के साथ जावास्क्रिप्ट ऑब्जेक्ट निर्माण पैटर्न कैसे करें? निजी संपत्तियों के साथ
- 21. सी ++ निजी कार्यों के लिए आंतरिक संबंध?
- 22. क्या आपके एनयूनीट यूनिट परीक्षण
- 23. URLClassLoader और पैकेज-निजी विधियों की पहुंच
- 24. मैं जावा में स्थानीय आंतरिक वर्ग विधियों का परीक्षण कैसे करूं?
- 25. नेस्टेड निर्भरताओं और फैक्टरी कक्षाओं के साथ यूनिट परीक्षण करना
- 26. क्या सी # कक्षाओं में निजी, संरक्षित, सार्वजनिक और आंतरिक तरीकों के प्रदर्शन के संबंध में कोई अंतर है?
- 27. मोक, सिल्वरलाइट और एनयूनीट
- 28. "निजी" और "संरक्षित आंतरिक" के बीच क्या अंतर है?
- 29. आंतरिक कक्षाओं के साथ अनुरोध-प्रतिक्रिया प्रवाह के लिए पैटर्न
- 30. एकाधिक कक्षाओं के साथ log4j का उपयोग कैसे करें?
यह भी ध्यान देने योग्य है कि InternalsVisibleTo का उपयोग केवल परीक्षण असेंबली द्वारा उपयोग किए जाने वाले रचनाकारों/विधियों का पर्दाफाश करने के लिए किया जा सकता है और उन लोगों को क्लाइंट कोड से छुपाया जा सकता है। – jlafay