rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
On Sun, Oct 24, 2010 at 11:21 AM, Haim Ashkenazi
[email protected]wrote:
end
sh = SayHello.new()
sh.say_hello.should eql(‘NO’)
end
endIn your example you are stubbing a class method. In your implementation you
have defined an instance method. To have this work for your given
implementation you need to know about the instance you are working with,
ie:
it “should interpret stub correctly” do
sh = SayHello.new()
sh.stub!(:say_hello).and_return ‘NO’
sh.say_hello.should eql(‘NO’)
end
Hope this helps,
Zach
On Oct 25, 2010, at 3:20 AM, Haim Ashkenazi wrote:
def say_hello
endThanks for your help. I’ve found in the archives that you have to use mocha to
do these kind of things.
This is incorrect. You are free to use mocha, but rspec-mocks, RR, and
flexmock are all perfectly capable of stubbing class methods, so you
don’t have to use mocha.
I tried a different approach (to mock the initializer) but although this works
on a simple setup, it didn’t work for me on my real classes.
What Zach suggested is the correct approach. What problem are you seeing
when you try it?