खोज…


टिप्पणियों

ककड़ी के बारे में

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

ककड़ी को व्यवहार-विकास (बीडीडी) नामक चुस्त कार्यप्रणाली का समर्थन करने के लिए लिखा गया था। BDD में, किसी ने स्वीकृति परीक्षण लिखने से बाहर विकास शुरू किया है जो उपयोगकर्ता के दृष्टिकोण से सॉफ्टवेयर की कार्यक्षमता का वर्णन करता है (बजाय एक प्रोग्रामर के दृष्टिकोण से जैसे कि यूनिट परीक्षण)। खीरे की विशेषताएं इन स्वीकृति परीक्षणों के रूप में कार्य करती हैं।

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

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

अन्य प्रलेखन

आधिकारिक दस्तावेज https://cucumber.io/docs पर है । ककड़ी सुविधाओं से उत्पन्न प्रलेखन जो ककड़ी कार्यान्वयन का वर्णन करता है

https://relishapp.com/explore में कुछ अन्य ककड़ी से संबंधित उपकरण और उदाहरण शामिल हैं, हालांकि, दुर्भाग्य से, ककड़ी-जेवीएम नहीं।

यह विषय

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

ककड़ी की एक विशेषता

खीरे संरचित प्राकृतिक भाषा में आपके सॉफ़्टवेयर के व्यवहार का वर्णन करने के लिए घेरकिन सिंटैक्स का उपयोग करते हैं।

के रूप में इस तरह के एक परीक्षण ककड़ी ढांचे (एक आम गलतफहमी है), लेकिन एक प्रणाली प्रलेखन ढांचे, प्रयोग करें प्रकरण परिदृश्य की तरह दूसरों से नहीं बहुत अलग नहीं है। आम गलतफहमी इस तथ्य के कारण है कि यह सुनिश्चित करने के लिए ककड़ी प्रलेखन को स्वचालित किया जा सकता है कि यह वास्तविक सिस्टम व्यवहार को दर्शाता है

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

  • बैंकिंग /
    • withdrawal.feature
    • atm.feature
    • निजी-loan.feature
  • व्यापार /
    • portfolio.feature
    • intraday.feature
  • बंधक /
    • evaluation.feature
    • accounting.feature

प्रत्येक Feature एक वैकल्पिक, असंरचित, विशुद्ध रूप से सूचनात्मक परिचयात्मक खंड और एक या अधिक Scenarios द्वारा रचित एक सादा पाठ फ़ाइल है, प्रत्येक एक उपयोग की स्थिति या उपयोग के मामले का प्रतिनिधित्व करता है।

उदाहरण:

Feature: Documentation
As a StackOverflow user or visitor
I want to access the documentation section
    
    Scenario: search documentation on Stack Overflow
        Given I am on StackOverflow
        And I go to the Documentation section
        When I search for "cucumber"
        And I follow the link to "cucumber"
        Then I should see documentation for "cucumber"

हर लाइन की शुरुआत गिविंग , व्हेन , एंड , बट या फिर Step । कोई भी कदम आदेश की परवाह किए बिना उन शब्दों में से किसी के साथ शुरू हो सकता है, लेकिन यह संभव है कि उन्हें सबसे अधिक प्राकृतिक तरीके से उपयोग किया जाए।

विशेषताएँ Tags माध्यम से भी व्यवस्थित की जा सकती हैं, एनोटेशन संपादक इसे एक Feature या एक Scenario पर डाल सकता है ताकि इसे और अधिक वर्गीकृत किया जा सके।

फ़ीचर की निष्पादनता गोंद कोड के माध्यम से प्राप्त की जाती है जिसे कई अलग-अलग भाषाओं (जावा, रूबी, स्काला, सी / सी ++) में लिखा जा सकता है: प्रत्येक Step को गोंद कोड के विरुद्ध मिलान किया जाता है ताकि Step Definitions पहचान की जा सके (आमतौर पर स्टीफ़ेफ़ के लिए संक्षिप्त रूप से) नियमित अभिव्यक्ति।

हर Step में केवल एक संबद्ध Step Definition

जब एक Feature को प्रत्येक कंपोज़िंग Scenario को निष्पादित किया जाता है, तो इसका अर्थ है कि प्रत्येक Scenario में Step एस से मेल खाते प्रत्येक StepDef को निष्पादित किया जाता है।

शुद्ध रूबी स्थापना

रूबी के साथ उपयोग के लिए ककड़ी को स्थापित करने के लिए बस कमांड का उपयोग करें

gem install cucumber

वैकल्पिक रूप से, यदि आप बंडलर का उपयोग कर रहे हैं, तो आप अपने जेमफाइल में निम्न पंक्ति जोड़ सकते हैं

gem 'cucumber'

और फिर बंडलर चलाएं

bundle install

[मुझे लगता है कि यह अपने विषय में है, स्थापना। मैंने वह विषय बनाया और इस उदाहरण को वहां कॉपी किया। जब वह विषय स्वीकृत हो जाता है तो मैं इसे वहां ले जाऊंगा और प्रतिलिपि हटा दूंगा।]

रूबी में एक ककड़ी कदम परिभाषा

सुविधाओं में / step_definitions / document.rb:

When /^I go to the "([^"]+)" documentation$/ do |section|
  path_part =
    case section
      when "Documentation"
        "documentation"
      else
        raise "Unknown documentation section: #{section}"
    end
  visit "/documentation/#{path_part}/topics"
end

Then /^I should see the "([^"]+) documentation"$/ do |section|
  expect(page).to have_css('h2.doctag_title a', text: section)
end

ये चरण एक वेब एप्लिकेशन का उपयोग करते हैं। वे लगभग उतने ही सरल हैं जितना कि वे व्यावहारिक होते हुए भी हो सकते हैं।

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

When चरण में एक URL के लिए एक मानव-पठनीय संदर्भ से एक URL ("प्रलेखन") तक जाने का एक सरल, इन-लाइन उदाहरण है। रियल ककड़ी सूट आमतौर पर इस तर्क को एक अलग विधि में रखते हैं। visit विधि Capybara द्वारा प्रदान की जाती है। ककड़ी का उपयोग करने के लिए Capybara की आवश्यकता नहीं होती है, हालांकि यह इसके साथ बहुत अधिक उपयोग किया जाता है। visit , दिए गए URL पर जाने के लिए Capybara द्वारा नियंत्रित ब्राउज़र को बताता है।

Then चरण दिखाता है कि किसी पृष्ठ की सामग्री का परीक्षण कैसे किया जा सकता है। expect / to RSpec द्वारा प्रदान की जाती है (फिर से, ककड़ी के लिए आवश्यक नहीं है, लेकिन बहुत सामान्य इसके साथ प्रयोग किया जाता है)। have_css Capybara द्वारा प्रदान किया गया है। अपेक्षा यह है कि दिए गए CSS चयनकर्ता पृष्ठ पर एक तत्व से मेल खाता है जिसमें दिए गए पाठ शामिल हैं। ध्यान दें कि यदि ब्राउज़र अनुरोध विफल हो गया था तो यह अपेक्षा विफल हो जाएगी।

अधिक उदाहरणों के लिए, "चरण परिभाषा" विषय देखें



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow