उन तीन तरीकों में तीन अलग-अलग, विशिष्ट लक्ष्य हैं। परीक्षण का लक्ष्य अपने कोड के स्पष्ट सत्यापन और सत्यापन प्रदान करना है। सबसे स्पष्ट और विशिष्ट विधि का उपयोग करके, आप अपने परीक्षण को सबसे सरल, स्पष्ट अर्थ संभव के साथ सबसे छोटा परीक्षण संभव बना रहे हैं।
इससे मदद मिलती है क्योंकि यह स्पष्टता जोड़ता है - आप देख सकते हैं, विशेष रूप से, एक और घोषणात्मक प्रकृति में एक परीक्षण क्या करना चाहिए, जहां एकाधिक परीक्षण परिदृश्यों के लिए एक ही विधि का उपयोग करना, प्रत्येक के पास एक अलग अर्थ है, और अधिक समझ की आवश्यकता है परीक्षण की प्रकृति के बजाय कोड स्वयं ही।
इस मामले में, तीसरा उपयोग करने के लिए उपयुक्त (केवल) उपयुक्त है। हालांकि, अगर आप इस स्थिति के लिए किया था, तो कोई भिन्न उदाहरण के लिए उपयोग करना चाहते हैं,:
Assert.IsTrue(myClass.MethodThatReturnsTrue());
आप विधि है कि अपने लक्ष्य के रूप में सबसे स्पष्टता प्रदान करता है का उपयोग करना चाहिए - आप समानता के लिए दो मानों जाँच कर रहे हैं, तो , Assert.IsEqual
का उपयोग करें, यदि आप यह सत्यापित करने के लिए एक बूलियन जांच रहे हैं कि यह गलत है, तो Assert.IsFalse
का उपयोग करें। इससे त्रुटि रिपोर्ट सार्थक और समझ में आता है।
स्रोत
2010-02-22 19:43:50
आईएमओ, यह अब तक का सबसे अच्छा/सबसे संक्षिप्त उत्तर है जिसे मैंने देखा है। शीर्ष जवाब गुम है कि यह एक अधिक जानकारीपूर्ण त्रुटि संदेश देता है। – Catskul
लोकप्रिय धारणा ढांचे लोकप्रियता में बढ़ रहे हैं क्योंकि वे पठनीयता में वृद्धि करते हैं। उदाहरण के लिए, जूनिट के हैमक्रिस्ट मैचर्स (http://code.google.com/p/hamcrest/wiki/Tutorial) और NUnit's ConstraintModel (http://www.nunit.org/index.php?p=constraintModel&r=2.4 देखें) .1)। –