下面的代碼給定類引發錯誤:undefined method 'any_instance' for String:Class
如何存根任何實例使用Rspec的嘲笑
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
如何可以包括嘲笑模塊插入類或對象類?
好,因爲問題是「使用Rspec的嘲笑」,我不知道答案「不使用Rspec的嘲弄」是很有用的。再說一遍,這比技術上正確的答案要好:你做不到。 – 2011-04-12 20:24:43
非常真實,更新的答案。 – 2011-04-12 20:25:59
上面的測試實際上是來自Rspec本身的測試[link](https://github.com/rspec/rspec-mocks/blob/master/spec/rspec/mocks/any_instance_spec.rb#L124)。並通過(mocks.rb)包含模塊AnyInstance: 'Class.class_eval {include RSpec :: Mocks :: AnyInstance}' 我認爲有辦法以某種方式做到這一點。 – Andy 2011-04-12 21:08:43