विधियों के लिए सुविधा अधिभार बनाने के लिए मेरे लिए वास्तव में आम है।क्या मुझे सुविधा ओवरलोड के लिए परीक्षण डुप्लिकेट करना चाहिए?
public void Encode(string value) {
Encode(value, DefaultEncoding);
}
public void Encode(string value, Encoding encoding) {
// ...
}
मैं इकाई परीक्षण के लिए और अधिक ध्यान देने के लिए शुरू कर, और परीक्षण इस तरह के तरीकों कुछ बाधाओं मुझे यकीन है कि मुझे विश्वास अपने आप को अकेला दृष्टिकोण नहीं कर रहा हूँ प्रस्तुत करता है: यहाँ कुछ का एक उदाहरण मैं क्या कर सकता है। पहली और सबसे महत्वपूर्ण समस्या यह है कि क्या मुझे दोनों ओवरलोड के लिए परीक्षण डुप्लिकेट करना चाहिए। उदाहरण के लिए, दोनों विधियों को ArgumentNullException फेंकना चाहिए यदि मान शून्य है; क्या यह पहचानने के लिए और अधिक सही है अलग तर्क हो सकता है और दो परीक्षण लिख सकता है या यह मानना बेहतर है कि सुविधा अधिभार के पास स्वयं का कोई तर्क नहीं है?
मुझे भी एक माध्यमिक समस्या मिली है। मेरी नामकरण योजना रॉय ओशरोव के समान है: "सदस्य नाम_स्टेट_एक्सपेक्ट रीसेट"। यदि मैं परीक्षणों को डुप्लिकेट करता हूं, तो मेरे पास कुछ oddball नामकरण सम्मेलन शुरू किए बिना नामों को झुकाव है। यदि आप परीक्षण डुप्लिकेट करते हैं तो आप इसे कैसे संभालेंगे?
दोनों खातों पर +1। सुविधा विधि के व्यवहार को सत्यापित करने के एक सरल तरीके के लिए, इस प्रश्न का मेरा उत्तर देखें। –