/ / Rspec Mocks - रूबी, मॉकिंग, Rspec का उपयोग करके किसी दिए गए वर्ग के लिए किसी भी उदाहरण को कैसे स्टब करें

रुपेक मोक्स का उपयोग करके दिए गए वर्ग के लिए किसी भी उदाहरण को कैसे रोकें - रूबी, मॉकिंग, आरएसपीईसी

निम्नलिखित कोड एक त्रुटि उठाता है: undefined method "any_instance" for String:Class

require "rspec"

RSpec.configure do |config|
config.mock_with :rspec
end

describe String do
it "stubs" do
String.any_instance.stub(:foo).and_return(1)
"".foo.should eq(1)
end
end

मैं Mocks मॉड्यूल को क्लास या ऑब्जेक्ट क्लास में कैसे शामिल कर सकता हूं?

उत्तर:

उत्तर № 1 के लिए 30

any_instance को हाल ही में rspec में जोड़ा गया था, इसलिए आपका उदाहरण अब मेरे लिए काम करता है क्योंकि यह rspec 2.7 के साथ है।

यहां और भी कुछ_सहायता दस्तावेज हैं: https://www.relishapp.com/rspec/rspec-mocks/docs/method-stubs/stub-on-any-instance-of-a-class


जवाब के लिए 3 № 2

2.6.0 के पिछले संस्करणों में RSpec मोक्स के साथ, आप ऐसा नहीं कर सकते हालाँकि आप उपयोग कर सकते हैं any_instance मोचा के साथ (जैसा कि देखा गया है यहाँ) या Rspec के बाद के संस्करणों में।

आपके में spec/spec_helper.rb

सुनिश्चित करें कि आपके पास यह पंक्ति है:

config.mock_with :mocha

uncommented।