Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at
Is Duplicitous?

Roy makes a number of accusations about the community, particularly centred around their espoused ideals clashing with their comments and blogs. I respect Roy greatly, his blog was one of my first real sources for great TDD information, and he has consitently put out great blog posts and software. Largely his complaints come down to TypeMock (who he now works for) not getting an overly warm welcome by many people in the world.

I don't for one second question Roy's sincerity, he really has shifted his view on how testing and mocking should work, for what he sees as all the right reasons, and now he seeks to convert others to the same cause.

I'm not what you might call a "paid up member" of the movement, my blog address appears on, I frequent the mailing list, but I have never attended one of the conferences, nor do I put the logo on my site. I read a few dozen blogs, probably a third would be classed as people, most would not be. I guess I have a foot in but dance with the devil.

I am however one of the people that has commented a number of times on TypeMock and its suitability as a mocking framework (for my needs), and Roy's obvious frustration comes down largely to his perception that people are bashing TypeMock unfairly, or out of dogma, and not seeing his vision for a better way to write software that TypeMock can help with.

That is perhaps the case with some people. TypeMock has some fervent supporters, and there are some people that think TypeMock encourages bad practices and should be avoided - software for some reason is one of those things people become almost religious about. I suspect that most people, myself included, are somewhere in the middle.

TypeMock is to me largely irrelevant. It has some plus sides (debugger support, mocking legacy and framework classes easily), and it has some down sides (it makes it "ok" to couple your code, or to use concretions over abstractions)

But mostly I just cannot see the point of TypeMock as it exists. It is, if you exclude the plus and minus points I just listed for a moment, basically the same as Moq or Rhino Mocks. It does more or less the same things, in more or less the same way, except both of those options are free, and TypeMock is one of the most costly development tools you could own.

I'm certainly not against commercial software, I own personal licences for all the software I use on a daily basis, but those products I choose to purchase are the best in their class, or solve a particular problem I face. I also weigh up the cost to value benefit.

The best comparison would be against unit testing frameworks, which are all to the best of my knowledge open source. There are commercial tools which make them easier to use, but there is no need for a commercial unit testing framework, as they are at least 95% feature complete.

The same could be said of mocking frameworks, Rhino and Moq are at least 95% feature complete, and pretty much (in all day to day ways) the same as TypeMock. There is for me, no one "killer feature" that TypeMock has that justifies it's price or putting a dependency upon it within a code base.

So is Alt.Net guilty of the duplicitous charge that Roy has made?

Expecting all people who frequent the world to be constantly flicking between technology and tool choices is not going to hold water. A typical software project may last weeks, months and possibly years. You cannot switch and change that frequently, you have to make choices and go with them. That doesn't stop Alt.Net people wanting to become aware of more options, but it also means that new options have to get compared to existing options, and even when a better option comes along, it is frequently not going to be used because of historical reasons. People still have their favourites, they still have their personal biases, and they still consider themselves as capable individuals who can evaluate these things.

I honestly don't think TypeMock in it's current form is that revolutionary that we should be sitting up and rushing to use it. The few new things it brings to the mocking party are different, not much better or that much worse. So picking the right tool for the job, means most of the time I prefer to write a wrapper or abstraction (a few wasted minutes) as opposed to changing an entire mocking strategy, all for the sake of a shinier toy. Others make take another approach. When I encounter a real world scenario where I need the power that TypeMock has, I'll re-evaluate.

Sometimes, the newer tool isn't the right tool for the job.

Posted 05-21-2008 10:54 AM by Jak Charlton



sergiopereira wrote re: Is Duplicitous?
on 05-21-2008 8:04 AM

The funny thing with the crowd (I'll include myself there) is that we see people defending the notion of "running with scissors" (heck, it's in the logo), skilled use of sharp tools, but some tools are apparently considered too sharp? I can't comment on TypeMock vs RM vs Moq b/c I'm pretty much a novice in that area., but I'd be happier if I saw appreciation for having access to these kind of tools when/if needed, even if there's the risk of addiction and limb chopping.

Jak Charlton wrote re: Is Duplicitous?
on 05-21-2008 8:39 AM

I doubt anyone in is unaware of TypeMock, or what it can do, and what it is perceived to do badly. What they choose to do with that information is another matter.

Could the same be said of those outside of, with regards to Rhino Mocks, Moq or even unit testing in general?  I suspect that the budget TypeMock has for advertising would make a large number of people outside of unaware that TypeMock wasn't the *only* mocking framework ... after all, open source projects only have word of mouth, not financial backing ...

Colin Jack wrote re: Is Duplicitous?
on 05-21-2008 8:40 AM

Good discussion, to me TypeMock is just a tool but  it does raise interesting issues (like it made me question whether all those interfaces were really useful ).

I'd never argue that anyone should go out and use TypeMock for the sake of it, if you don't want to use it then don't.

For me the problem with the debates is that sometimes it comes accross as if anyone who uses TypeMock is an idiot writing legacy code (and who just doesn't get design). I don't agree with that idea and it does irk me a bit, but other than that I'm not really that passionate either way :)

Jimmy Bogard wrote re: Is Duplicitous?
on 05-21-2008 8:49 AM

I think it might be important to point out that Roy basically had the same arguments several months back on the altnet list concerning FinalBuilder, who he doesn't work for.  It's a little too shallow to assume Roy's opinion came because he works for TypeMock.  He was met with the same reaction when he pushed FinalBuilder.

Dew Drop - May 21, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - May 21, 2008 | Alvin Ashcraft's Morning Dew
on 05-21-2008 9:11 AM

Pingback from  Dew Drop - May 21, 2008 | Alvin Ashcraft's Morning Dew

Kyle Baley wrote re: Is Duplicitous?
on 05-21-2008 9:15 AM

Yeah, I don't think it's fair to assume Roy is questioning things because of his relationship with TypeMock. I'm giving him (and pretty much anyone) the benefit of the doubt and assuming his concerns are based on observation and reflection, just as they always have been. That said, I don't agree with them either but then, I'm an optimist by nature.

Jak Charlton wrote re: Is Duplicitous?
on 05-21-2008 9:34 AM

I don't wish to, for one second, give the impression that Roy is making these statements for the reason that he is employed by TypeMock, I think (hope) my second paragraph makes that clear. I just point it out as he puts the same disclaimer on his own blog.

ohad wrote re: Is Duplicitous?
on 05-24-2008 3:34 AM


You said:

"There is for me, no one "killer feature" that TypeMock has that justifies it's price or putting a dependency upon it within a code base."

What do you think can be the killer feature that will make Typemock worth its cost?

Jak Charlton wrote re: Is Duplicitous?
on 05-24-2008 4:33 AM

I think it has the only features (I can forsee being in a mocking framework) that differentiate it - as the authors of Moq and Rhino have both said they won't add static mocking.

And for those extra features ... to me (as I said in another post) it woould have to be 1/5th to 1/10th of its current price ....

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Google Reader or Homepage Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of
Red-Gate Tools For SQL and .NET


SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
NHibernate Profiler
Balsamiq Mockups
JetBrains - ReSharper
Web Sequence Diagrams
Ducksboard<-- NEW Friend!


Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers


Community Server (Commercial Edition)