I know that this is a subjective question...
Typemock is $799 per developer. Licences for 5 devs comes up to a pretty large sum. If someone here used Typemock and given that there are open source mocking frameworks, is it worth the money? Why?
I know that this is a subjective question...
Typemock is $799 per developer. Licences for 5 devs comes up to a pretty large sum. If someone here used Typemock and given that there are open source mocking frameworks, is it worth the money? Why?
In our project we had 12 Typemock licenses that we had to annually upgrade, but I believe it was worth every penny (actually øre) we spent.
Why? Typemock Isolator has one important advantage: it does not set (almost) any constraints on the code you need to mock. Private constructors? Sealed classes? Static classes? No problem - you can isolate all this stuff using Typemock.
Just an example: you need to test the code that handles SqlException with certain properties, how can you do this? SqlException is a sealed class with non-public constructor. You can come with various workarounds, but as long as you're using managed code, there is no direct way of mocking SqlException.
Typemock Isolator intercepts your code as a profiler, it goes unmanaged, so it opens for much more powerful mocking. And if you're dealing with certain product (e.g. SharePoint) then Isolator is the only framework that can handles it, because as somebody put it, SharePoint is just a bunch of private sealed classes.
Having said that, because of its power Typemock Isolator requires developers to care more about testability of their own code. Using Isolator is easier to write non-testable code and still manage to test it with Isolator (sounds contradictional I know). But assuming you got your own code right, Typemock Isolator is invaluable tool to fake third-party components, and when I say "third-party" I also mean stuff that comes from Microsoft and that is not always easily testable.
The subjective part is your analysis of how much time (and therefore, money) using Typemock will save you. It may help to start with how much a developer-hour costs you. $100? In that case, how long will it take before Typemock saves you 8 hours of time?
Probably the only way to make an intelligent decision is to get an evaluation license and do some real testing to see how much time it saves.
Let me preface that I use TypeMock on a regular basis at work and I think it is a great product since it can help you test a lot of untestable code with a pretty clean API.
That being said, you might want to take a step back and ask yourself whether the developers are writing good object-oriented code and following good practices, or whether they are just writing evil code which does need heavy duty tools and expertise (see http://googletesting.blogspot.com/2008/07/how-to-write-3v1l-untestable-code.html for more on evil code).
I will be extremely happy the day that our code has evolved (i.e. been refactored) to the point where we don't need a tool like TypeMock Isolator to properly test it.
This is possibly not as objective an answer as you'd like, as I do work there, but this is a check list I've been working on.
This is a list of questions you might want to ask yourself when evaluating any one of the current Isolation frameworks out there: http://site.typemock.com/isolation-framework-checklist
© 2022 - 2024 — McMap. All rights reserved.