36

Can any of the Rhino experts explain me by giving a suitable example of the difference between the above methods on the MockRepository class (Rhino Mocks framework).

Where should one use Stub over Mock method or otherwise?

Sam Holder
  • 32,535
  • 13
  • 101
  • 181
chugh97
  • 9,602
  • 25
  • 89
  • 136

1 Answers1

63

you should use a mock when you are going to verify that something happened on the object, like a method was called. You should use a stub when you just want the object to be involved in the test to return a value but it is not the thing you are testing. A stub which does not have a expectation fulfilled can never fail a test.

I think the general rule should be that you should only ever have a single mock object in a test, but may have several stubs which provide information to the mock object. I believe that more than 1 mock in a test is a code smell.

Although not a Rhino example Martin Fowler has a description of the difference

Also this question might be useful as might this one

Community
  • 1
  • 1
Sam Holder
  • 32,535
  • 13
  • 101
  • 181