cucumber
कदम परिभाषाएँ
खोज…
टिप्पणियों
Cucumber के दिए गए कार्यान्वयन द्वारा समर्थित प्रोग्रामिंग भाषा में चरण परिभाषाएँ हैं। यह विषय प्रत्येक समर्थित प्रोग्रामिंग भाषा में कदम परिभाषाओं के उदाहरण देता है और कदम परिभाषाओं में ककड़ी एपीआई कॉल का उपयोग करने के उदाहरण हैं।
कुछ सरल रूबी कदम परिभाषा
सुविधाओं में / 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 चयनकर्ता पृष्ठ पर एक तत्व से मेल खाता है जिसमें दिए गए पाठ शामिल हैं। ध्यान दें कि यदि ब्राउज़र अनुरोध विफल हो गया था तो यह अपेक्षा विफल हो जाएगी।