2013-12-16 8 views
8

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

मैंने Google पर कुछ और यहां स्टैक ओवरफ्लो पर खोज की है, साथ ही एमएसटी दस्तावेज को एमएसटीएस्ट कमांड लाइन टूल पर भी इस्तेमाल किया है, लेकिन मुझे जवाब नहीं मिला है। पूर्ण SpecFlow परीक्षण सुइट को पूरा होने में ~ 45 मिनट लगते हैं, और मुझे वास्तव में केवल कुछ परिदृश्य चलाने की आवश्यकता है।

मैं सोच रहा था कि क्या एमएसटीएस्ट का उपयोग कर कमांड लाइन से व्यक्तिगत स्पेकफ्लो सुविधाओं और यहां तक ​​कि व्यक्तिगत परिदृश्य चलाने का कोई तरीका है?

+0

आप एनसीआरंच (http://NCrunch.net) या निरंतर परीक्षण (http://www.continuoustests.com) को देखने पर भी विचार कर सकते हैं। इन दोनों उपकरणों को जितनी जल्दी हो सके अपने परीक्षण चलाने के लिए डिज़ाइन किया गया है। मैं एनसीआरंच का उपयोग करता हूं जिसमें * केवल मेरे परिवर्तन * मोड से प्रभावित परीक्षण चलाते हैं, और – AlSki

उत्तर

9

दृश्य के पीछे specflow परीक्षण केवल नियमित mstest इकाई परीक्षण हैं।

mstest /testcontainer:tests.dll /test:GivenMyScenarioWhenIDoSomeStuff 

एक कई विशिष्ट परिदृश्य आप/परीक्षण झंडा कई बार उपयोग कर सकते हैं चलाने के लिए::

एक विशिष्ट परिदृश्य को चलाने के लिए: तो आप उन्हें तरह कुछ का उपयोग कर एक ही तरह से चलाने के लिए सक्षम होना चाहिए

mstest /testcontainer:tests.dll /test:GivenMyScenarioWhenIDoSomeStuff /test:GivenMyScenarioWhenIDoSomemthingElse 

एक सुविधा

mstest /testcontainer:tests.dll /test:MyFeatureName 

आप अपने परिदृश्यों पर टैग जोड़ देते हैं तो चलाने के लिए उदाहरण के लिए @MyTag का उपयोग कर, आप भी विकल्प का उपयोग कर सकता है

/category:MyTag to filter down the scenarios to run. 

कृपया, कैसे चीजें वास्तव में काम का एक सुराग पाने के लिए अपनी सुविधा से फ़ाइलों का पीछे किए गए कोड में नजर है, तो आप के साथ MSTest यह होना चाहिए familliar हैं बहुत सरल हो।

+0

के बाद आप जो भी करेंगे, ऐसा लगता है कि यह जवाब है, हालांकि मैं अपने सिर को किसी अन्य मुद्दे के खिलाफ मार रहा हूं। मैंने NuGet के माध्यम से सभी टेस्ट प्रोजेक्ट की निर्भरताओं को स्थापित किया है, जो उन सभी डीएलएल को "पैकेज" निर्देशिका में फेंकता है। 'Mstest' कमांड लाइन उपयोगिता उम्मीद करता है कि सभी वर्ग पुस्तकालय मौजूदा कार्यशील निर्देशिका में मौजूद हैं। मैंने 'SpecBind' NuGet पैकेज स्थापित किया है, जो मुझे गुम DLL फ़ाइल (SpecBind.CodedUI.dll) देता है लेकिन यह मेरी बिल्ड निर्देशिका में कॉपी नहीं हो रहा है। मुझे तब तक कुछ खोदना होगा जब तक आपको कुछ सुझाव नहीं मिलते (मैं इस परियोजना के लिए कोडेडयूआई परीक्षण का उपयोग करता हूं)। –

+0

मैं इसे उत्तर के रूप में चिह्नित कर रहा हूं, क्योंकि मैं अपने सिर को एक अलग मुद्दे के खिलाफ मार रहा हूं - शायद मेरे विजुअल स्टूडियो समाधान के सेटअप के कारण। धन्यवाद! –

+2

mstest के बजाय Vstest.console.exe का उपयोग करें। Vstest.console.exe स्वचालित रूप से आपके सभी nuget संकुल के साथ-साथ अन्य पुस्तकालयों को लोड करेगा। E.g Vstest.console.exe mytests.dll – Mohamed

2

"Specrun.Specflow" नामक एक nuget पैकेज है जो डाउनलोड करता है। और यह आपके app.config को बदल देगा और यूनिटटेस्टप्रोवाइडर नाम = "स्पेक्रुन" सेट करेगा, ताकि आप AppTconfig परिवर्तनों को सहेजने के लिए यूनिटटेस्टप्रोवाइडर नाम = "एमएसटीएस्ट" या "एनयूनीट" को हटा सकें, दृश्य स्टूडियो आपको अपनी फीचर फाइलों को पुन: उत्पन्न करने के लिए संकेत देता है, हां पर क्लिक करें और अब एक समाधान बनाएं, आप देखेंगे कि आपकी टेस्ट फाइलें पुन: उत्पन्न की गई हैं। अब आपके कमांड प्रॉम्प्ट में सी: \ उपयोगकर्ता \\ दस्तावेज़ \ विजुअल स्टूडियो 2015 \ प्रोजेक्ट्स \ पर जाएं और runtests.cmd टाइप करें, इसे आपकी सभी फ़ीचर फ़ाइलों को सीधे ट्रिगर करना चाहिए।

+2

Specrun.Specflow Specflow का वाणिज्यिक उत्पाद है और प्रति उपयोगकर्ता 150 डॉलर खर्च करता है।यह राजस्व धारा प्रतीत होती है कि मानक ओपन सोर्स धावकों में से किसी भी में spec प्रवाह चलाने के लिए कोई समर्थन नहीं है। धावकों के लिए भुगतान सीआई वातावरण के लिए वास्तव में अनुपयोगी है और अमीर निगमों के लिए भी उपयोग करने के लिए एक संगठनात्मक बाधा प्रस्तुत करता है। यह निश्चित रूप से आपकी गलती नहीं है, लेकिन मैंने सोचा कि इसे आपके सुझाव के लिए एक प्रमुख चेतावनी के रूप में वर्णित किया जाना चाहिए। – Amias

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