2013-02-21 44 views
40

क्या कोई इन दो प्लेटफार्मों के बीच अंतर समझा सकता है? दोनों का हिस्सा हैं बीडीडी लेकिन मुझे एक या दूसरे का उपयोग क्यों करना चाहिए, या दोनों एक साथ? उत्तर के लिए धन्यवादककड़ी बनाम Capybara

उत्तर

5

cucumber एक बीडीडी उपकरण है जो एक व्यापार-पठनीय, डोमेन-विशिष्ट भाषा में परीक्षण परिदृश्य व्यक्त करता है।

capybara आरओआर अनुप्रयोगों के लिए एक स्वचालित परीक्षण उपकरण (अक्सर उपयोग किया जाता है) है।

कैपिबरा जिथब पेज पर, using capybara with cucumber पर एक उदाहरण है।

+7

कैपिबरा आरओआर के लिए विशिष्ट नहीं है, इसका उपयोग किसी भी भाषा में लिखे गए वेब ऐप्स का परीक्षण करने के लिए किया जा सकता है। –

4

ककड़ी एक सामान्य उद्देश्य बीडीडी उपकरण है। यह वेब ऐप्स के बारे में कुछ भी नहीं जानता है। इसलिए वेब ऐप्स का परीक्षण करने के लिए ककड़ी चरण परिभाषाएं Capybara को कॉल करती हैं।

86

कैपिबरा एक ऐसा उपकरण है जो एक वेबसाइट के साथ इंटरेक्ट करता है जिस तरह से मानव (जैसे यूआरएल पर जाकर, एक लिंक पर क्लिक करना, टेक्स्ट को टाइप करना और उसे सबमिट करना)। इसका उपयोग किसी वेबसाइट के माध्यम से उपयोगकर्ता के प्रवाह को अनुकरण करने के लिए किया जाता है।

describe "the signup process", :type => :feature do 
    before :each do 
    User.make(:email => '[email protected]', :password => 'caplin') 
    end 

    it "signs me in" do 
    visit '/sessions/new' 
    within("#session") do 
     fill_in 'Login', :with => '[email protected]' 
     fill_in 'Password', :with => 'password' 
    end 
    click_link 'Sign in' 
    page.should have_content 'Success' 
    end 
end 

ककड़ी मानव पठनीय परीक्षण है कि कोड में मैप किया जाता है लिखने के लिए एक उपकरण है: गेम Capybara के साथ आप कुछ इस तरह लिख सकते हैं। इसके साथ, आप इस तरह ऊपर के उदाहरण पुनर्लेखन कर सकते हैं:

Scenario: Signup process 

Given a user exists with email "[email protected]" and password "caplin" 
When I try to login with "[email protected]" and "caplin" 
Then I should be logged in successfully 

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

आमतौर पर आप कैपिबारा का उपयोग करेंगे यदि आप किसी वेबसाइट का परीक्षण कर रहे हैं और ककड़ी का उपयोग करते हैं तो आपको उन परीक्षणों को गैर-डेवलपर्स के साथ साझा करने की आवश्यकता है। ये दो स्थितियां स्वतंत्र हैं ताकि आप बिना किसी या दोनों या किसी के इस्तेमाल कर सकें।

पीएस: कोड स्निपेट में कुछ आरएसपीसी भी है। इसकी आवश्यकता है क्योंकि खुद द्वारा ककड़ी या कैपिबरा परीक्षण कुछ नहीं कर सकता है। वे वास्तविक "पास या विफल" काम करने के लिए आरएसपीसी, टेस्ट :: यूनिट या न्यूनतम पर भरोसा करते हैं।