2010-01-01 23 views
7

मैं सी # के साथ इकाई परीक्षण में शामिल होने की कोशिश कर रहा हूं। विभिन्न लोगों ने मुझे न्यूटिट के साथ जाने के लिए कहा क्योंकि यह एमएसटीएस्ट से बेहतर है (जाहिर है, मुझे कोई जानकारी नहीं है) और रीसर्पर में भी इसका बहुत अच्छा समर्थन है जिसका मैं उपयोग कर रहा हूं।मैं रीशेपर के साथ एनयूनीट परीक्षण कैसे बना सकता हूं?

अब मैंने अपने जीवन में पहले एक यूनिट टेस्ट नहीं लिखा है (मेरे साथ भालू, मैं विश्वविद्यालय का छात्र हूं)। ReSharper में यह अच्छा CreateUnitTests संदर्भ मेनू विकल्प है जिसे मैंने दूसरों को देखा है (आकस्मिक रूप से कंधे पर देख रहे हैं) बड़ी सफलता के लिए उपयोग करते हैं। आप किसी विधि में राइट-क्लिक करें, CreateUnitTests का चयन करें और वहां जाएं, एक परीक्षण कंकाल बनाया गया है। आप बस महत्वपूर्ण बिट्स भरें।

अब जब मैं कोशिश करता हूं, ReSharper मुझे एक नया टेस्ट प्रोजेक्ट बनाना चाहता है ... और जब मैं इसे देता हूं, तो यह स्पष्ट रूप से एक एमएसटीएस्ट टेस्ट टेम्पलेट के साथ एक एमएसटीएस्ट प्रोजेक्ट बनाता है (जो मैं मान रहा हूं) बनाता है। लेकिन मेरे पास पहले से ही एक वर्ग लिबररी प्रोजेक्ट है जो "nunit.framework" का संदर्भ देता है और इसमें कुछ एनयूनीट परीक्षण हैं जो ReSharper चलाने के इच्छुक हैं। फिर भी, यह केवल एमएसटीएस्ट टेस्ट टेम्पलेट्स बनाता है, और केवल विशेष "टेस्ट प्रोजेक्ट" परियोजनाओं में।

मैं क्या गलत कर रहा हूं? क्या मैं कुछ गलत कर रहा हूं, या रीशर्पर के साथ एनयूनीट परीक्षण टेम्पलेट्स संभव नहीं बना रहा हूं? मैंने नेट की खोज की है और रीशेपर और न्यूटिट के दस्तावेज को पढ़ा है और मैं अभी भी यह समझ नहीं सकता कि यह भी संभव है या क्या।

यदि कोई मुझे ReSharper + NUnit का उपयोग करने के लिए एक प्रकार की मार्गदर्शिका प्रदान कर सकता है तो मैं आभारी रहूंगा।

संपादित करें: मैं ReSharper 4.5 और NUnit 2.5.3

EDIT2 उपयोग कर रहा हूँ: जाहिर है मैं एक बेवकूफ हूँ। CreateUnitTests ReSharper का हिस्सा नहीं है, लेकिन विजुअल स्टूडियो का हिस्सा है और इस प्रकार केवल एमएसटीएस्ट के साथ काम करता है।

उत्तर

12

अपने परीक्षण परियोजना में जो Resharper बनाया, माइक्रोसॉफ्ट इकाई परीक्षण DLL के संदर्भ में (मैं नाम बंद हाथ याद नहीं है, लेकिन यह काफी एक लंबा नाम है) को हटा दें।

फिर एक नया संदर्भ जोड़ने - nunit.framework.dll, आप संदर्भ जोड़ें संवाद का पहला टैब पर यह खोजना चाहिए।

यूनिट टेस्ट क्लास फ़ाइल में using NUnit.Framework जोड़ें।

फिर आप विशेषताओं को बदलने की जरूरत:

[TestClass] to [TestFixture] 
[TestMethod] to [Test] 

तो अगर आप एक MSTest परियोजना के साथ खत्म हो, बजाय NUnit प्राप्त करने के लिए ऊपर दिए गए चरणों का उपयोग करें।

नोट: Resharper 4.5 के बाद एमएसटीएस्ट के साथ-साथ नूनिट परीक्षण चलाने के लिए मूल समर्थन है। तो आप इसके बजाय कोशिश कर सकते हैं।

+1

लेकिन CreateUnitTests के साथ एक नया परीक्षण जोड़ने फिर माइक्रोसॉफ्ट परीक्षण DLL के संदर्भ में कहते हैं और फिर TestFixture आदि के बजाय TestClass का उपयोग करता है ... मैं इन को दूर करने के लिए होगा बहुत बार? क्या इसका मतलब यह है कि ReSharper केवल एमएसटीएस्ट टेस्ट टेम्पलेट्स बना सकता है? – Lucas

+3

मैं Resharper के विकल्पों से परिचित नहीं हूं - क्या आप वाकई रिशेर्पर को यूनिट परीक्षण बनाने का विकल्प दे रहे हैं? मैं विजुअल स्टूडियो 2008 टीम सिस्टम का उपयोग करता हूं और जब मैं किसी विधि पर राइट-क्लिक करता हूं तो मुझे 'यूनिट टेस्ट बनाएं' विकल्प मिलता है। चूंकि यह वीएस का हिस्सा है, यह हमेशा एमएसटीएस्ट का उपयोग करेगा। मुझे यकीन नहीं है कि यह रिशेर्पर ऐसा कर रहा है या नहीं। पता लगाने के लिए एक है Resharper (टूल्स-> Addins) अक्षम करें और स्क्रैच से यूनिट टेस्ट बनाएं, अगर यह एमएसटीएस्ट का उपयोग कर रहा है तो यह Resharper नहीं है। –

+0

अहह, मैं देखता हूं। जाहिर है मैं मूर्ख हूँ। – Lucas

5

आपको न्यूटिट का उपयोग करने के लिए किसी भी जादूगर चलाने की आवश्यकता नहीं है। आप केवल कक्षा पुस्तकालय बना सकते हैं, NUnit का संदर्भ जोड़ सकते हैं और संबंधित परीक्षण के साथ अपने परीक्षणों को चिह्नित कर सकते हैं। विज़ार्ड केवल एमएसटीएस्ट के लिए हैं और फिर भी, आवश्यक नहीं है।

एक बार जब आप इकाई परीक्षण है, ReSharper परीक्षण धावक उन्हें पकड़ लेती है और बाएं हाथ मार्जिन पर आप कुछ प्रतीक है कि आप/डिबग परीक्षण चलाने के लिए अनुमति देगा मिलेगा। यहाँ एक उदाहरण के लिए पहली छवि देखें:

NUnit and ReSharper

संबंधित मुद्दे