TypeMock is a commercial product (which means you have to pay for it), but will allow you to mock specific objects - unlike RhinoMocks / NUnit / MoQ, which can only mock an interface / abstract class. How this is achieved is borderline black magic, but it does some very smart things with the CLR.
This can be especially useful if you use libraries in your project that do not use many interfaces. Thus, you could, for example, use TypeMock to mock LINQtoSQL datacontext or Sharepoint objects. However, if you use TypeMock, this is no excuse for poor design in your application .
As far as I know, in addition to minor differences in syntax, most of the mocking frameworks have moved away from the old recording / playback model. Typically, you customize your layouts by naming expectations using the Fluent Interface.
Personally, I used only MoQ and I <3 it.
Kirschstein Sep 04 '09 at 13:50 2009-09-04 13:50
source share