का उपयोग करके मैंने अभी (आज) पहली बार SpecFlow की कोशिश की है। मैं वीएस -2010 प्रो में एक नई कक्षा पुस्तकालय बनाकर और एक स्पेकफ़्लो फ़ीचर परिभाषा फ़ाइल जोड़कर खेल रहा हूं।SpecFlow गलत तरीके से NUnit
बात यह है कि एकीकरण विभिन्न त्रुटियों के साथ ठीक से काम नहीं कर रहा है। मैंने एमएसटेस्ट को टेस्ट रनर के रूप में चुना है, क्योंकि मुझे एनयूनीट के साथ परेशान नहीं किया जा सकता है (मैं लंबी अवधि में एनयूनीट का उपयोग करना चाहता हूं लेकिन फिलहाल मैं कुछ बीडीडी कोड काम करना चाहता हूं)। जेनरेट की गई कोड फाइलें एनयूनीट का संदर्भ जारी रखती हैं - जो स्पष्ट रूप से गलत है, क्योंकि मैंने बस स्पेसफ्लो को एमएसटेस्ट का उपयोग करने के लिए कहा है। मैंने टूल्स पीढ़ी को दोबारा शुरू करने के बारे में सोचने के बारे में सोच सकते हैं, जिसमें टूल्स> विकल्प> स्पेकफ्लो में चुने गए एमएसटेस्ट विकल्प के साथ एक ब्रांड नई क्लास लाइब्रेरी प्रोजेक्ट बनाना शामिल है।
यदि मैं परीक्षण धावक फ़ील्ड को 'ऑटो' पर सेट करता हूं और एक फीचर फ़ाइल पर राइट-क्लिक करता हूं, तो 'स्पीकफ्लो परिदृश्य चलाएं' चुनें, मुझे एक त्रुटि संदेश मिलता है "मिलान परीक्षण धावक नहीं मिल सका"।
यदि मैं बजाय परीक्षण धावक फ़ील्ड को एमएसटेस्ट में बदलता हूं, तो मुझे एक ही चीज़ करने पर एक अलग त्रुटि संदेश मिलता है - "ऑब्जेक्ट रेफरेंस किसी ऑब्जेक्ट के उदाहरण पर सेट नहीं होता है"। मैं इस पर आश्चर्यचकित नहीं हूं क्योंकि यह अभी भी एनयूनीट परीक्षण चलाने की कोशिश कर रहा है, भले ही मैंने स्पष्ट रूप से एमएसटेस्ट के लिए पूछा है, हालांकि स्पष्ट रूप से इसे उपयोगकर्ता को नहीं खोलना चाहिए और उसे प्रस्तुत करना चाहिए।
मैं क्या गलत कर रहा हूं? दस्तावेज उपयोगी नहीं है, और जहां तक मैं देख सकता हूं, कोई FAQ नहीं है।
संपादित करें # 1: मैं स्थापित किया है कि वास्तविक सेटिंग मैं तलाश कर रहा हूँ क्षेत्र <unitTestProvider name="MsTest" />
का उपयोग कर App.Config
का उपयोग कर दी जाती है। मैं देख सकता हूं कि क्या हुआ - विजुअल स्टूडियो विकल्प मेनू में फ़ील्ड उस प्रोजेक्ट को संशोधित नहीं कर रहा है जिस पर आप वर्तमान में काम कर रहे हैं। बात यह है कि यह ऐसा लगता है कि वह क्षेत्र कुछ भी नहीं करता है। मैंने अब स्पेसफ्लो को एमएसटेस्ट कक्षाएं उत्पन्न करने और एमएसटीएस्ट रनर का उपयोग करके चलाने के लिए राजी किया है।
तो अब सवाल थोड़ा अलग हो गया है: क्या उपकरण (विकल्प> स्पेकफ़्लो> टेस्ट रनर टूल फ़ील्ड क्या करता है?
ग्रेट टिप, धन्यवाद! मैंने मेनू बटन को तुरंत स्थापित किया क्योंकि यह बहुत उपयोगी लग रहा था, इसलिए इस पूछताछ की इस पंक्ति ने एक सुविधाजनक साइड-लाभ प्रदान किया है। हालांकि SpecFlow के बारे में शर्म आती है, ऐसा लगता है कि मैं ऐसा करने के लिए केवल एकमात्र ऐसा नहीं हूं जो इसे करने के लिए किया जाता है। वास्तविक उत्पाद काम करता है, लेकिन वीएस एकीकरण बिल्कुल सही नहीं है। –
हाँ, मेरी इच्छा है कि यह अधिक एकीकृत हो लेकिन मैं इसके लिए अभी ठीक हूं। इसका उपयोग अभी मेरे लिए लाभ से अधिक है। खुशी है कि टिप मदद करता है! – MichaelF
क्या आपने specflow इंस्टॉलर चलाया है या आपने इसे NuGet का उपयोग करके अपने प्रोजेक्ट में जोड़ा है? इंस्टॉलर विजुअल स्टूडियो एकीकरण जैसे सभी एकीकरण घटकों को स्थापित करेगा जहां nuget इंस्टॉल केवल आवश्यक संदर्भ जोड़ता है। –