Ayende @ Wiki

Edit

What is Rhino Mocks?



Rhino Mocks allows you to easily create mock objects and setup a wide range of expectations on them using strongly typed notation instead of compiler-opaque strings. It's as simple as:
IProjectView projectView = mocks.CreateMock<IProjectView>();
Expect.Call(projectView.Title).Return("Project's Title");
Definitions:

  • Mock Object - an object that pretends to be another object and allows you to set expectations on its interactions with another object.
  • Interaction Based Testing - you specify a certain sequence of interactions between objects, initiate an action, and then verify that the sequence of interactions happened as you specified it.
  • State Based Testing - you initiate an action and then check for the expected results (return value, property, created object, etc).
  • Expectation - general name for validation that a particular method call is the expected one.
  • Record & Replay model - a model that allows for recording actions on a mock object and then replaying and verifying them. All mocking frameworks uses this model. Some (NMock, TypeMock.Net, NMock2) use it implicitly and some (EasyMock.Net, Rhino Mocks) use it explicitly.
  • Ordering - The ability to specify that replaying a sequence of method calls will occur in a specific order (or disorder).

Edit

Change Log

Check here for Rhino Mocks Change Log

Edit

Capabilities



  • mock interfaces, delegates and classes, including those with parameterized constructors.
  • set expectations on the called methods by using strongly typed mocks instead of strings.
  • lends itself easily to refactoring & leaning on the compiler.
  • allows a wide range of expectations to be set on a mock object or several mock objects.
  • Attention: Rhino Mocks can only mock interfaces, delegates and virtual methods of classes!

Edit

Documentation




ScrewTurn Wiki version 2.0 Beta. Some of the icons created by FamFamFam.