विजुअल स्टूडियो यूनिट टेस्टिंग: सेटअप और टियरडाउन


90

नुनित में [सेटअप] और [टियरडाउन] के बजाय विजुअल स्टूडियो अल्टीमेट 2010 यूनिट टेस्टिंग में क्या विकल्प है। नुनिट में आप कल्पना कर सकते हैं कि सेटअप और फाड़ के तरीके हमारी कक्षा में परीक्षणों के लिए निर्माता और विध्वंसक हैं।



जवाबों:


143

[TestInitialize]प्रत्येक परीक्षण से पहले एनोटेट की गई विधि को चलाया जाता है। इसी तरह [TestCleanup]प्रत्येक परीक्षण के बाद है।

[ClassInitialize]और [ClassCleanup]टेस्टक्लास के अंदर परीक्षणों के 'सूट' से पहले और बाद में चलाए जाते हैं।


6
आप जोड़ सकते हैं कि ClassInitialize पद्धति तर्क के रूप में TestContext लेती है।
बट्ट्टा

4
और यह सार्वजनिक स्थैतिक भी होना चाहिए
शालोम एलीकेम 19

4

Visual Studio MSTest का उपयोग करेगा, जो कि Microsoft की इकाई परीक्षण रूपरेखा है, यह NUnit के समान है। वास्तव में, उनमें से ज्यादातर अवधारणाओं में समान हैं लेकिन विभिन्न वाक्यविन्यास हैं।

मजबूरी को देखने के लिए, xUnit (एक अन्य इकाई परीक्षण ढांचे) के रचनाकारों की एक सूची यहाँ है:

http://xunit.github.io/docs/comparisons.html

विशेष रूप से आपने जो मांगा था, TestInitializeवह MSTest NUnit के समतुल्य है Setup, और उसी के लिए TestCleanupऔर TearDown

यदि आप स्वचालित इकाई परीक्षण या निरंतर एकीकरण करने का प्रयास कर रहे हैं, तो एक बात ध्यान दें, मैं NUnit के साथ रहूंगा। विभिन्न *unitढांचे MSTest के पक्ष में हैं , इसका मुख्य कारण यह है कि आपके पास उस मशीन पर विज़ुअल स्टूडियो की एक प्रति होनी चाहिए जिस पर आप परीक्षण चला रहे हैं। अपने स्थानीय मशीन के लिए ठीक है, एक CI सर्वर के लिए अलग कहानी। विजुअल स्टूडियो एक प्रोग्राम का एक पिग है, और इसे एक सर्वर पर स्थापित करने के लिए (जो आमतौर पर जितना हो सकता है उतना हल्का और तेज़ होना चाहिए), बस परीक्षण चलाने के लिए थोड़ा कष्टप्रद है।


7
आप परीक्षण चलाने वालों को स्थापित करने के लिए एक CI सर्वर पर TFS टीम टेस्ट एजेंट (और इसे कॉन्फ़िगर नहीं कर सकते) स्थापित कर सकते हैं ( microsoft.com/en-us/download/details.aspx?id=1334 )। जब तक आप जेनेरिक, ऑर्डरेड, कोडेडयूआई या प्रदर्शन परीक्षण नहीं चाहते हैं, तब तक एक पूर्ण विज़ुअल स्टूडियो इंस्टॉलेशन की आवश्यकता नहीं है।
jessehouwing

1
टीम बिल्ड 2012 अपने बिल्ड सर्वर पर विजुअल स्टूडियो को स्थापित करने की आवश्यकता के बिना अलग-अलग टेस्ट रनर्स के लिए समर्थन स्थापित करता है।
jessehouwing
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.