O código a seguir gera um erro: 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
Como posso incluir o módulo Mocks na classe Class ou Object?
Respostas:
30 para resposta № 1any_instance foi recentemente adicionado ao rspec, então seu exemplo agora funciona para mim como é com o rspec 2.7.
Aqui está mais documentação any_instance: https://www.relishapp.com/rspec/rspec-mocks/docs/method-stubs/stub-on-any-instance-of-a-class
3 para resposta № 2
Com RSpec Mocks nas versões anteriores a 2.6.0, você não pode fazê-lo. No entanto você pode usar any_instance
com Mocha (como visto Aqui) ou em versões posteriores do Rspec.
Na tua spec/spec_helper.rb
Certifique-se de ter esta linha:
config.mock_with :mocha
descomentado.