[rspec-users] should_receive break the method chain?
dchelimsky at gmail.com
Thu Jul 29 09:31:48 EDT 2010
On Jul 29, 2010, at 7:46 AM, Zhenning Guan wrote:
> class A
> def process
> it 'should change b calculate value' do
> @b.calculae_value.should == 'after_calculae'
> it will fail, if I comment out #@b.should_receive(:calculate), the test
> or if comment out #@b.calculae_value.should == 'after_calculae', also
> so my colleague said maybe should_receive break the mehod chain and
> thing is really going this way?
Your colleague is correct. Any time you use object.stub(:method) or object.should_receive(:method) on a real object, the method is replaced by the mock framework. This is true with all of the popular ruby mock/test double frameworks. The one way to get around that is to use RR's proxy.
More information about the rspec-users