2010-07-10 13 views
6

मैं आरसीपीसी/मोचा मॉकिंग के साथ बीडीडी ढांचे के रूप में ककड़ी का उपयोग कर रहा हूं। आदर्श रूप से हम ककड़ी चश्मा में व्यवहार नहीं करेंगे; हालांकि परिदृश्य यहां असाधारण है। आपको यहां समस्या का संक्षिप्त विचार देने के लिए; मेरे पास दो विशेषताएं उत्पाद सुविधा और कार्ट सुविधा है।ककड़ी परिदृश्य में रुपेक/मोचा के साथ स्टब

कार्ट सुविधा वर्तमान में 3 पार्टी सिस्टम से प्राप्त उत्पाद में से कुछ को मजाक कर रही है। और ककड़ी रन कार्ट फीचर में उत्पाद सुविधा से पहले चलता है। उत्पाद सुविधा कुछ परिदृश्यों के लिए वास्तविक कॉल का उपयोग करती है। आदर्श रूप से हम उम्मीद करेंगे कि परिदृश्य पूरा होने के बाद Product.stub (: find) जैसे क्लास स्तरीय स्टब्स साफ़ हो जाएंगे; हालांकि, यह मामला नहीं है। क्लास स्तरीय स्टब्स अगले ककड़ी परिदृश्य पर चलते हैं और कॉल में हस्तक्षेप करते हैं।

मैंने स्टब्स को प्रेरित करने के लिए मोचा और आरएसपीईसी का एक-दूसरे से उपयोग किया; लेकिन कोई फायदा नहीं हुआ; किसी भी मामले में स्टब बनी हुई है और कार्ट फीचर के बाद मेरी उत्पाद सुविधा को चलाने के लिए रोकती है। उनमें से दोनों अलगाव में ठीक चलते हैं।

क्या किसी को भी ककड़ी में रीसेट नहीं होने वाले स्टब्स के समान मुद्दे का सामना करना पड़ा है? क्या कोई तरीका है, मैं मूल वर्ग व्यवहार को पुनर्स्थापित कर सकता हूं?

किसी भी मदद की सराहना की जाएगी।

चीयर्स

उत्तर

8

मोचा एकीकरण के लिए, आप एक फ़ाइल के लिए निम्न अपनी सुविधाओं/समर्थन फ़ोल्डर (mocha.rb की तरह)

require "mocha" 

World(Mocha::Standalone) 

Before do 
    mocha_setup 
end 

After do 
    begin 
    mocha_verify 
    ensure 
    mocha_teardown 
    end 
end 

का इन ब्लॉक के बाद सभी mocks जारी करना चाहिए जोड़ना चाहिए।

स्रोत: http://gist.github.com/80554

+0

भयानक। बस मुझे rspec mocking/stubbing डंप करने के लिए और मोचा के साथ जाने के लिए क्या जरूरत है! :) – Priyank

4

सिंटेक्स मोचा 1.1 के लिए थोड़ा अलग है:

require 'mocha/api' 

World(Mocha::API) 

Before do 
    mocha_setup 
end 

After do 
    begin 
    mocha_verify 
    ensure 
    mocha_teardown 
    end 
end 
संबंधित मुद्दे