मैं एक छोटे से टेस्ट सबसे पहले विकास करने के लिए कोशिश कर रहा हूँ, और मैं सत्यापित करने के लिए है कि मेरे कक्षाएं एक विशेषता के साथ चिह्नित हैं कोशिश कर रहा हूँ: कक्षा में उस विशेषता सौंपा हैपरीक्षण करें यदि किसी वर्ग में कोई विशेषता है?
[SubControllerActionToViewDataAttribute]
public class ScheduleController : Controller
मैं कैसे इकाई परीक्षण करना इसके लिए?
केवल यह जांचने के लिए कि विशेषता मौजूद है या नहीं, जो आम तौर पर पैरामीटर रहित/संपत्तिहीन विशेषताओं के लिए आवश्यक है, यह उपयोग करने के लिए सस्ता है। यह परिभाषित है, क्योंकि यह मेटाडेटा से पूछताछ करेगा, और विशेषता वस्तु को deserialize और तत्काल नहीं है। –
IsDefined सस्ता होने के बारे में बिंदु है ... लेकिन ज्यादातर मामलों में (और विशेष इकाई परीक्षणों में) आप अंतर को ध्यान में रखते हुए संभावना नहीं है। शायद अगर यह उत्पादन कोड में एक तंग लूप था ... –
@ मार्क- मैं इस बात से सहमत हूं कि प्रदर्शन में अंतर शायद यूनिट परीक्षण में ध्यान देने योग्य नहीं होगा। अगर मुझे इसका इस्तेमाल करने की ज़रूरत है तो मुझे विशेषता मिल जाएगी, जैसा कि आप कहते हैं कि ज्यादातर मामलों में परिदृश्य है। मैंने हाल ही में एक ढांचे में IsDefined का उपयोग किया था जिसे मैं सॉर्ट करने योग्य फ़ील्ड के ड्रॉपडाउन में कॉलम को बाहर करने के लिए लिख रहा था- यह अच्छी तरह से काम करता था क्योंकि मुझे विशेषता के लिए उपयोग करने की आवश्यकता नहीं थी। – RichardOD