मैं कोड परीक्षण में काफी शुरुआती हूं, और assert
पहले एक वेश्या थी। यूनिट टेस्टिंग में एक बात मुझे चिंता में डालती है, वह यह है कि अक्सर आपको public
(या कम से कम internal
) फ़ील्ड बनाने की आवश्यकता होती है, जो private
अन्यथा, अन- readonly
उन्हें, इसके बजाय private
तरीके बनाने protected virtual
, आदि ...
मुझे हाल ही में पता चला है कि आप किसी वस्तु में प्रतिबिंब के माध्यम से किसी वस्तु को आरोपित करने के लिए PrivateObject क्लास जैसी चीजों का उपयोग करके इससे बच सकते हैं । लेकिन यह आपके परीक्षणों को कम बनाए रखता है (संकलन समय के बजाय निष्पादन में विफल हो जाएगा, यह एक साधारण नाम से टूट जाएगा, यह डीबग करना कठिन है ...)। इस पर आपकी क्या राय है ? एक्सेस प्रतिबंध से संबंधित इकाई परीक्षण में सबसे अच्छे अभ्यास क्या हैं?
संपादित करें: उदाहरण के लिए विचार करें कि आपके पास डिस्क पर फ़ाइल में कैश के साथ एक वर्ग है, और आपके परीक्षणों में आप इसके बजाय मेमोरी में लिखना चाहते हैं।