यहां अधिकांश उत्तर वास्तव में परीक्षण को लिखने के बजाय सामान्य (जब, कहां, क्यों और क्या) में सर्वोत्तम प्रथाओं के यूनिट परीक्षण को संबोधित करते प्रतीत होते हैं। चूंकि प्रश्न "कैसे" भाग पर बहुत विशिष्ट लगता था, मैंने सोचा कि मैं इसे पोस्ट करूंगा, "ब्राउन बैग" प्रस्तुति से लिया गया जिसे मैंने अपनी कंपनी में आयोजित किया था।
वाम्प के 5 टेस्ट लिखने के नियम:
1. लंबे, वर्णनात्मक परीक्षण विधि नामों का उपयोग करें।
- Map_DefaultConstructorShouldCreateEmptyGisMap()
- ShouldAlwaysDelegateXMLCorrectlyToTheCustomHandlers()
- Dog_Object_Should_Eat_Homework_Object_When_Hungry()
2. अपने परीक्षणों को एक अरेंज / एक्ट / एसर शैली में लिखें ।
- हालांकि यह संगठनात्मक रणनीति कुछ समय के लिए रही है और कई चीजों को बुलाया गया है, हाल ही में "एएए" परिचय की शुरूआत इस पार पाने का एक शानदार तरीका है। आपके सभी परीक्षणों को एएए शैली के अनुरूप बनाना उन्हें पढ़ने और बनाए रखने में आसान बनाता है।
3. हमेशा अपने असर्स के साथ एक विफलता संदेश प्रदान करें।
Assert.That(x == 2 && y == 2, "An incorrect number of begin/end element
processing events was raised by the XElementSerializer");
- एक सरल अभी तक पुरस्कृत अभ्यास जो आपके धावक आवेदन में स्पष्ट करता है कि क्या विफल रहा है। यदि आप एक संदेश प्रदान नहीं करते हैं, तो आपको आमतौर पर अपनी असफलता आउटपुट में "अपेक्षित सत्य, गलत था" जैसा कुछ मिलेगा, जो आपको वास्तव में गलत क्या है यह जानने के लिए परीक्षण पढ़ने के लिए जाना पड़ता है।
4. परीक्षण का कारण टिप्पणी करें - व्यवसाय की धारणा क्या है?
/// A layer cannot be constructed with a null gisLayer, as every function
/// in the Layer class assumes that a valid gisLayer is present.
[Test]
public void ShouldNotAllowConstructionWithANullGisLayer()
{
}
- यह स्पष्ट लग सकता है, लेकिन यह अभ्यास उन लोगों से आपके परीक्षणों की अखंडता की रक्षा करेगा जो पहले स्थान पर परीक्षण के पीछे का कारण नहीं समझते हैं। मैंने देखा है कि कई परीक्षण निकाले गए या संशोधित किए गए, जो पूरी तरह से ठीक थे, सिर्फ इसलिए कि व्यक्ति उन मान्यताओं को नहीं समझ पाया था जो परीक्षण सत्यापित कर रहे थे।
- यदि परीक्षण तुच्छ है या विधि नाम पर्याप्त रूप से वर्णनात्मक है, तो टिप्पणी को छोड़ना अनुमत हो सकता है।
5. प्रत्येक परीक्षण को हमेशा किसी भी संसाधन की स्थिति को वापस लेना चाहिए जिसे वह छूता है
- वास्तविक संसाधनों से निपटने के लिए जहां संभव हो वहां मॉक का उपयोग करें।
- सफाई का परीक्षण स्तर पर किया जाना चाहिए। निष्पादन के आदेश पर परीक्षणों का कोई भरोसा नहीं होना चाहिए।