.NET के लिए ककड़ी विकल्प


80

त्वरित एक, किसी को भी एक पुस्तकालय में आया है। रूबी के खीरे के समान (एक मानव पठनीय डीएसएल उपयोग की कहानियों को परिभाषित करने के लिए डीएसएल है। जिसे नेट के क्षेत्र में परीक्षण किया जा सकता है)?

जवाबों:


91

आपको SpecFlow को भी देखना चाहिए , जो .NET के साथ BDD करने के लिए एक ओपन-सोर्स प्रोजेक्ट है।

SpecFlow एक ही परिभाषा प्रारूप (Gherkin) का उपयोग कर रहा है, जैसे ककड़ी, लेकिन आप .NET में अपनी कदम परिभाषा लिख ​​सकते हैं। यह मूल रूप से आपकी फीचर फाइलों से इकाई-परीक्षण कक्षाएं (NUnit, MsTest, xUnit, आदि) उत्पन्न करता है, इसलिए आप उसी इकाई परीक्षण निष्पादन इंजन का उपयोग कर सकते हैं, जैसे आप वास्तविक इकाई परीक्षणों के साथ करते हैं। इस तरह से बीडीडी कार्यात्मक परीक्षणों को एकीकरण निर्माण में एकीकृत करना भी आसान है।

हाल के संस्करणों में SpecFlow में Visual Studio 2010 के लिए एक सिंटैक्स रंग की सुविधा है और सिल्वरलाइट और मोनो / मोनो-डिवेलप के लिए समर्थन है।


35

ज़रूर। इसे ककड़ी कहा जाता है । खीरा उदाहरणों में .NET कोड का परीक्षण करने के लिए एक उदाहरण है । .NET और मोनो दोनों के लिए ककड़ी विकी पर निर्देशिका और प्रलेखन ।


मैंने यह प्रयास किया, लेकिन ICucumber आवरण को चलाने के साथ टकराता रहा। मुझे प्राप्त संदेश में कहा गया है कि .yml config फाइल गायब थी।
ओवेन

यहां बताई गई हर चीज़ की कोशिश की: thomaslundstrom.blogspot.com/2009/03/…
Owen

1
मैं अनुमान लगा रहा हूं कि आप इस संदेश का उल्लेख कर रहे हैं: "cucumber.yml नहीं मिला। कृपया खीरे में प्रोफाइल को परिभाषित करने के लिए ककड़ी के प्रलेखन का संदर्भ लें। आपको बिना किसी तर्क के ककड़ी का उपयोग करने के लिए 'डिफ़ॉल्ट' प्रोफ़ाइल को परिभाषित करना होगा। उपयोग के लिए 'ककड़ी - झेलना'। (ककड़ी :: क्ली :: येल्लोडएदर) ", सही? स्पष्ट प्रश्न, जब कोई कार्यक्रम यह शिकायत करता है कि वह फ़ाइल नहीं ढूंढ सका है, तो क्या फ़ाइल वास्तव में वहां है या नहीं? क्योंकि, अगर फ़ाइल नहीं है, तो इसका कारण क्या है यह स्पष्ट नहीं है ...
Jörg W Mittag

1
मैं अभी भी काफी आप क्या मतलब नहीं मिलता है। आपके द्वारा पोस्ट किए गए लिंक में आपकी समस्या के लिए कुछ भी नहीं है। और "फ़ाइल वहाँ लगती है" से आपका क्या मतलब है ? आपने फ़ाइल लिखी, आपने फ़ाइल को सहेज लिया, आपको पता होना चाहिए कि यह वहां है या नहीं!
जोर्ग डब्ल्यू मित्तग

1
आपके उदाहरण और विकी लिंक 404ing हैं
मैटमोटु 10

20

इस जगह में 3 संभावनाएं हैं:

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

  2. Cuke4Nuke का उपयोग करें । मैंने सुना है कि यह उत्पाद कुछ बार अनुशंसित है। यह वास्तव में नियमित रूप से रूबी और ककड़ी का उपयोग करता है, लेकिन सर्वर के माध्यम से आपका .NET कोड चलाता है। सौभाग्य से, वह सभी जटिलता पारदर्शी है जैसा कि आप इसका उपयोग कर रहे हैं। Cuke4Nuke अब सक्रिय विकास के अधीन नहीं है।

  3. SpecFlow का उपयोग करें । यह ककड़ी का .NET पोर्ट है। इस वजह से, इसमें खीरे की सभी विशेषताएं नहीं हो सकती हैं, और इसमें अतिरिक्त विशेषताएं हो सकती हैं। अच्छी बात यह है कि आपको रूबी स्थापित नहीं करनी है।

इस समय यह स्पष्ट नहीं है कि इनमें से कौन सबसे अच्छा विकल्प है। व्यक्तिगत रूप से मैं Cuke4Nuke से शुरू करने की योजना बना रहा हूं।


2
किसी को भी इस पढ़ने के लिए, ऐसा लगता है कि Cuke4Nuke SpecFlow के पक्ष में पदावनत किया गया है richardlawrence.info/2011/10/21/the-future-of-cucumber-on-net
GuiSim

3

मैंने एक ब्लॉग पोस्ट लिखी जिसमें मैंने ककड़ी को आयरनरुबी के साथ चलाने की प्रक्रिया का विवरण दिया: http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/


बीमार इसे एक रन के माध्यम से दे और आप को वापस मिल जाए।
ओवेन

मैं आयरन रुबी के लिए win32console पोर्ट करने पर भी काम कर रहा हूं ताकि हम रंगीन कंसोल आउटपुट प्राप्त कर सकें, जैसे हम MRI में करते हैं: github.com/hotgazpacho/ironruby-win32console
विल ग्रीन

3

स्टोरीटेलर कुछ हद तक संबंधित है भले ही यह सख्ती से बीडीडी नहीं है। यह कुछ अलग तरह के परीक्षण का समर्थन करता है, लेकिन .NET में लिखा गया है। जेरेमी मिलर्स ब्लॉग पर अधिक पढ़ें


3

सादे अंग्रेजी में BDD Concordion.NET के साथ किया जा सकता है । अपेक्षित व्यवहार के विनिर्देश HTML में लिखे गए हैं।

किसी भी संरचना के किसी भी वाक्य का उपयोग Concordion.NET परीक्षणों के लिए किया जा सकता है। उदाहरण के लिए एक वाक्य लिखना आवश्यक नहीं है जैसे "10 डॉलर की शेष राशि के साथ एक बैंक खाता दिया जाता है, जब 20 डॉलर की निकासी शुरू होती है, तो लेनदेन विफल हो जाता है"। इसके बजाय किसी भी प्रकार के वाक्य का उपयोग किया जा सकता है जैसे "20 डॉलर का लेनदेन विफल हो जाता है, यदि खाते में 10 डॉलर का पर्याप्त संतुलन नहीं है"।

Concordion.NET परीक्षणों को NUnit की मदद से निष्पादित किया जाता है, जिसे कई अलग-अलग परिवेशों में एकीकृत किया गया है: https://github.com/concordion/concordion-net


2

StoryQ भी है। यह उपयोगकर्ता कहानियों के लिए एक देवतापूर्ण दृष्टिकोण है जो ग्राहकों को वापस रिपोर्ट कर सकता है। http://storyq.codeplex.com

StoryQ एक पोर्टेबल (सिंगल dll) है, जो .NET 3.5 के लिए एम्बेडेड BDD फ्रेमवर्क है। यह आपके मौजूदा परीक्षण धावक के भीतर चलता है और मानव-अनुकूल परीक्षण आउटपुट (HTML या पाठ) का उत्पादन करने में मदद करता है। StoryQ के धाराप्रवाह इंटरफ़ेस आपके BDD व्याकरण में मजबूत टाइपिंग, इंटैलिजेंस और प्रलेखन जोड़ता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.