15

का उपयोग करके यूनिट परीक्षण और एकीकरण परीक्षण अलग से चलाना हम एमएसटीएस्ट में लिखे गए परीक्षणों के साथ विजुअल स्टूडियो 2010 अल्टीमेट का उपयोग करते हैं। हमारे यूनिट परीक्षण और एकीकरण परीक्षण दोनों * एमएसटीएस्ट में लिखे गए हैं।एमएसटीएस्ट

** हमारे परिभाषा के अनुसार, एक एकीकरण परीक्षण है कि कुछ समय लगता है चलाने के लिए और/या इस तरह के एक डेटाबेस या वेब सेवाओं के रूप में बाहरी घटकों के लिए बाहर कॉल एक MSTest TestMethod है। *

मैं एक के लिए देख रहा हूँ एकीकरण परीक्षणों को आसानी से फ़िल्टर करने का तरीका ताकि केवल यूनिट परीक्षण सभी एकीकरण परीक्षणों के बिना चल रहे हों।

मेरे विचारों अब तक:

  1. [Ignore] विशेषता के साथ मार्क एकीकरण परीक्षणों। यह काम करता है लेकिन एक वास्तविक दर्द है जब आप एकीकरण परीक्षण चलाने के लिए चाहते हैं।

  2. विभिन्न परीक्षण प्रकारों में [TestCategory] विशेषता असाइन करें। यह उन्हें अलग से चलाने की अनुमति देता है लेकिन केवल टेस्ट व्यू पैनल के माध्यम से। आप CTRL + R, A (समाधान में सभी टेस्ट चलाएं) या अन्य समान शॉर्टकट/हॉटकी का उपयोग नहीं कर सकते हैं।

  3. एकीकरण परीक्षण एक अलग परियोजना में हैं, क्या ऐसा कुछ ऐसा है जो उन्हें परियोजना स्तर पर चलाने से रोकने के लिए किया जा सकता है? जब तक यह टॉगल करना आसान है।

  4. एक अलग परीक्षण ढांचे में एकीकरण परीक्षण लिखें, उदा। NUnit। यह उन्हें टूलिंग बिंदु से पूरी तरह से अलग रखेगा।

क्या किसी के पास कोई अन्य सुझाव है? क्या कोई प्लग-इन है जो इससे मदद कर सकता है?

उत्तर

5

मैं एकीकरण परियोजनाओं के लिए एक अलग परियोजना (या परियोजनाएं) रखने की अनुशंसा करता हूं क्योंकि आपके धावक के आधार पर सभी धावकों में परीक्षण चलाने या चलाने के लिए एकमात्र असली तरीका टेस्ट क्लास लाइब्रेरी शामिल करना या शामिल नहीं करना है।

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

रेजरपर जैसे धावक और स्पष्ट रूप से TestDriven.net (http://bit.ly/tmtYC2) आपको सामान्य परीक्षण-परीक्षण निष्पादन से उन परीक्षणों को फ़िल्टर-आउट करने की अनुमति देता है।

+0

और, इसके लायक होने के लिए, मैं इस तरह की सीमाओं के कारण सीधे एमएसटीएस्ट धावक का उपयोग नहीं करता हूं। –

+0

निर्मित 2012 वीएस टीम स्टूडियो परीक्षण धावक खिड़की के लिए बेहतर फ़िल्टरिंग का प्रदर्शन कर रही थी। यह 100% स्पष्ट नहीं था अगर यह सभी प्लेटफार्मों या सिर्फ विंडोज 8 पर लागू होता है। जाहिर है कि कोड बेस बहुत खंडित है; पी – felickz

2

मेरे पास एक सुझाव है लेकिन आपको यह पसंद नहीं आएगा।

एबंडन एमएसटीएस्ट पूरी तरह से, जबकि अन्य इकाई परीक्षण ढांचे एमएसटीएस्ट विकसित हो रहे हैं क्योंकि लगभग समय में बंद हो गया है। हां, इसका वीएस के साथ सीधे एकीकृत करने का एक बड़ा लाभ है, लेकिन अगर मुझे गलत नहीं लगता है जो वीएस 2011 में बदल जाएगा जो कस्टम यूनिट टेस्ट धावक एकीकरण के लिए मूल समर्थन प्रदान करेगा।

(नोट: बंद कर दिया समय में भाग के बाद से मैं इसे किफ़ायत से इस्तेमाल किया वी.एस. 2008 के साथ, क्योंकि मैं MSTest करने के लिए अधिक ध्यान करने के लिए भुगतान नहीं कबूल सच नहीं हो सकता)

मैं NUnit का उपयोग करें और से मेरी इकाई परीक्षण अलग एक अलग वर्ग पुस्तकालय परियोजना का उपयोग करके एकीकरण परीक्षण। फिर मैं गैलियो कमांड लाइन धावक का उपयोग करके परीक्षणों को चलाने के लिए स्वचालित करता हूं, जिससे मुझे इकाई और एकीकरण परीक्षण चलाने के लिए अलग-अलग स्क्रिप्ट कॉन्फ़िगर करने की अनुमति मिलती है।

अंत में, व्यक्तिगत राय अलग-अलग हैं, मुझे यकीन नहीं है लेकिन TestDriven.net प्लगइन में केवल एक विशिष्ट श्रेणी के साथ परीक्षण चलाने के लिए समर्थन हो सकता है, ताकि आप इसे देख सकें।

5

यदि आपकी इकाई परीक्षण परियोजना एक अलग नामस्थान में है, तो आप वर्तमान संदर्भ में सभी परीक्षणों को चलाने के लिए कीबोर्ड शॉर्टकट CTRL+R, T का उपयोग कर सकते हैं (यानी namespace MyApp.Tests.Unit)। इस इकाई को किसी यूनिट टेस्ट क्लास के नेमस्पेस क्लॉज में शुरुआती घुंघराले ब्रेस के ठीक बाद कर्सर करने के लिए।

+0

यह एक अच्छा सुझाव है लेकिन समस्या यह है कि हमारे पास कई यूनिट परीक्षण परियोजनाएं हैं। – tjrobinson

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