निम्नलिखित कोड एक त्रुटि उठाता है: 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 के लिए 30any_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।