मैंने बहुत कुछ खोजा है और इसे समझ नहीं सकता है हालांकि यह मूल लगता है। मैं जो करना चाहता हूं उसका सरलीकृत उदाहरण यहां दिया गया है। इस तरह के "अलविदा" के रूप मेंरुपयेपेक 3.0 पैरामीटर को बदलने की विधि को कैसे नकल करें लेकिन बिना वापसी मूल्य के?
class Test
def test_method(param)
puts param
end
test_method("hello")
end
लेकिन मेरे rspec परीक्षण में मैं एक अलग पैरामीटर पारित करने के लिए की जरूरत है, के बजाय "हैलो:
एक सरल विधि है कि कुछ करता है लेकिन इस तरह के रूप में कुछ भी वापस नहीं करता है, बनाएं । " मैं जानता हूँ कि इस स्टब्स और mocks के साथ क्या करना है, और मैं प्रलेखन से अधिक लग रही है, लेकिन यह पता नहीं कर सकते हैं: https://relishapp.com/rspec/rspec-mocks/v/3-0/docs/method-stubs
अगर मैं कार्य करें:
@test = Test.new
allow(@test).to_receive(:test_method).with("goodbye")
यह मुझसे कहता है एक बाहर ठूंठ डिफ़ॉल्ट मान लेकिन मैं यह नहीं समझ सकता कि इसे सही तरीके से कैसे किया जाए।
त्रुटि संदेश: कुछ की तरह
@test.stub(:test_method)
received :test_method with unexpected arguments
expected: ("hello")
got: ("goodbye")
Please stub a default value first if message might be received with other args as well.
मैं rspec 3.0 का उपयोग कर रहा है, और फोन करने की अनुमति नहीं है।
पर आपका त्रुटि संदेश आपके स्टब के विपरीत लगता है। –