यहां एमएस टेस्ट के साथ मेरा अनुभव है
- हम लगभग 3800 टेस्ट के साथ एमएस टेस्ट चला रहे हैं।
- परीक्षणों को शुरू करने के लिए बहुत लंबा समय लगता है, जो एकल परीक्षण चलाते समय दर्दनाक होता है।
- परीक्षणों को अंजाम देने में लगभग 1GB मेमोरी लगती है। नहीं, यह हमारे परीक्षणों में मेमोरी लीक के कारण नहीं है। अक्सर हम OutOfMemoryException में चलते हैं।
- क्योंकि यह उस अधिक संसाधन का उपयोग करता है, हम बैच-फाइलों से परीक्षण निष्पादित करना शुरू कर रहे हैं। तो क्या पूरे एकीकरण के लिए अच्छा है?
- यह छोटी गाड़ी है और अस्थिर है:
- उदाहरण के लिए, यदि आप [इग्नोर] को एक परीक्षण से हटाते हैं, तो वह इसे पहचान नहीं पाता है, क्योंकि यह कहीं न कहीं परीक्षणों की जानकारी देता है। आपको गवाही को ताज़ा करने की आवश्यकता है, जो कभी-कभी समस्या को हल करती है, या वी.एस. को पुनरारंभ करती है।
- यह बेतरतीब ढंग से टॉयलेट डायरेक्टरी के संदर्भ असेंबली को कॉपी नहीं करता है।
- परिनियोजन आइटम (उपयोग की जाने वाली अतिरिक्त फ़ाइलें) बस ठीक से काम नहीं करती हैं। उन्हें बेतरतीब ढंग से नजरअंदाज किया जाता है।
- Vsmdi और testrunconfig फ़ाइलों में छिपी हुई (परीक्षण कोड में दिखाई नहीं देने वाली) जानकारी है। यदि आप इसके बारे में परवाह नहीं करते हैं, तो यह काम नहीं कर सकता है।
- कार्यात्मक रूप से यह NUnit के लिए तुलनीय हो सकता है, लेकिन यदि आप VS परीक्षक संस्करण का उपयोग करने पर विचार करते हैं तो यह बहुत महंगा है।
जोड़: हमारे पास अभी कुछ और परीक्षण हैं, यह भी नहीं कह सकते कि कितने हैं। OutOfMemoryException और अन्य अस्थिरता समस्याओं के कारण, इन सभी को Visual Studio से चलाना असंभव है। हम स्क्रिप्ट से परीक्षण चलाते हैं। विजुअल स्टूडियो में परीक्षा परिणाम देखना आसान होगा, लेकिन जब समाधान खुला होता है, तो वीएस क्रैश (हर बार)। इसलिए हमें पाठ खोज का उपयोग करके विफल परीक्षणों की खोज करने की आवश्यकता है। अब एकीकृत उपकरण का कोई फायदा नहीं है।
एक और अपडेट : हम अब वीएस 2013 का उपयोग कर रहे हैं। बहुत सारी चीजें बदल गईं। उन्होंने तीसरी बार एमएस टेस्ट टेस्ट रनर फिर से शुरू किया। इसके कारण बहुत सारे परिवर्तन हुए, लेकिन न तो नया संस्करण कुछ बेहतर कर रहा था। हमें खुशी है कि हमने MS Test की फैंसी विशेषताओं का उपयोग नहीं किया, क्योंकि वे सभी अब समर्थित नहीं हैं। यह वाकई शर्म की बात है। हम अभी भी सभी यूनिट परीक्षणों को बनाने और चलाने के लिए स्क्रिप्ट का उपयोग कर रहे हैं, क्योंकि यह आसान है। विजुअल स्टूडियो को रनिंग टेस्ट शुरू करने के लिए कुछ मिनटों की आवश्यकता होती है (पहले टेस्ट शुरू होने तक संकलन के बाद के समय के उपाय)। वे शायद इसे अपडेट के साथ ठीक करते हैं और यह हमारी परियोजना की एक विशिष्ट समस्या हो सकती है। हालाँकि, उसी परीक्षण को चलाने के दौरान रेस्पर अधिक तेज होता है।
निष्कर्ष : कम से कम रेसार्पर के साथ संयोजन में, एमएस टेस्ट उपयोगी है। और मुझे आशा है कि वे अंततः पता लगाते हैं कि टेस्ट रनर को कैसे लिखा जाना चाहिए और जब हम अगली बार विज़ुअल स्टूडियो को अपडेट करते हैं तो इस तरह के ब्रेकिंग परिवर्तन नहीं करेंगे।