Sunday, March 9, 2008

Typemock Isolator Vs. Open source

Updated: This table is obviously obsolete. Read more about about Isolator's advantages on the new Isolator page.


One of the things people keep asking is "so why should I pay for a tool that I can get for free?" in other words, what is so special that you'd actually want me to pay you for.

This of course, is because there is no clear comparison chart between typemock and other free and open source tools.

There are many ways to compare frameworks, but the first and easiest one would be feature by feature comparison. How fair\relevant is it? you be the judge. I'm putting this chart on this blog so that we can gather comments on what you think would constitute a fair and balanced comparison chart between the various mocking frameworks, and this is something to start with.

If you have objections, suggestions or any other type of feedback, feel free to put in a comment. ('y' = 'supported' , '-' = 'not supported')

(this chart relates to the enterprise version of Typemock Isolator. for a chart detailing the differenced between typemock versions and to understand what the features listed here mean, look over here.)

Feature Category Feature Detail Typemock Isolator Other
.NET Framework support
1.1 y

y

2.0 y y
3.0-3.5 y y
Syntax
Record-Replay y y
Expectation based y y
What can it mock?
public method y y
properties y y
events y y
interface y y
Abstract Classes y y
void calls y y
Non-Classic Mocking Future Object instance y --
Static methods y --
Extensions Methods y --
LINQ Queries y --
Anonymous Objects y --
Field set-get y --
Constructors y --
Parameter Constraints
Argument matching y y
Custom Callbacks y y
Built in constraints y y
IDE Support
Highlight mocked methods in debugger y --
Evaluate mock values safely in debugger y --
other features
strict\non strict mocks y y
strongly typed calls y(except recorder.return() ) y
Extensibility mechanism for tests y --
support 'stub' keyword -- (stubs are supported but no keyword for it) y
Runtime argument swapping y --
partial mocks y y

3 comments:

Rahul said...

We have been using Rhino Mocks for a while. It is great to see that TypeMock Isolator supports "Non-Classic Mocking" which are amazing. The most appealing for me is Future Instance mock which I understand is really helpful for testing legacy code where no DI was done or in situations where DI is not feasible. Also, We were finding it difficult to mock static, extension methods, LINQ queries where TypeMock seems to be a savior. Looking forward to use "Type Mock"
-Rahul Das

Gil Zilberfeld said...

Hi Rahul,

Thanks for putting in the comment. As you've probably seen from the date, this is a very old post, and we've grown beyond a mere mocking framework to a unit testing tool.

If you'd like more info, contact me at gilz AT typemock DOT com. I'll be happy to show you the ropes.

Adiel said...

This is the first link on google - Typemock vs rhinomock.
Maybe it's time to update it?