Read more

Stub methods on any instance of a class in Rspec 1 and Rspec 2

Henning Koch
October 25, 2011Software engineer at makandra GmbH

RSpec 1 (Rails 2)

With the most recent spec_candy.rb helpers you can say:

User.stub_any_instance(:foo => :bar)
user = User.new
user.foo
# => :bar

RSpec 2 (Rails 3)

Illustration book lover

Growing Rails Applications in Practice

Check out our e-book. Learn to structure large Ruby on Rails codebases with the tools you already know and love.

  • Introduce design conventions for controllers and user-facing models
  • Create a system for growth
  • Build applications to last
Read more Show archive.org snapshot

RSpec 2 comes with this feature built in:

User.any_instance.stub(:foo => :bar)
user = User.new
user.foo
# => :bar

RSpec 3

RSpec Mocks 3.3: any_instance Show archive.org snapshot

allow_any_instance_of(User).to receive(:foo).and_return(:bar)
user = User.new
user.foo
# => :bar
Posted by Henning Koch to makandra dev (2011-10-25 10:30)