Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant

I Wish These People Updated More Than Once a Year


Wow.

All right, so the new and improved MVCToolkit, according to Scott now contains helper extension methods for setting up mock controller contexts, mock http contexts, etc. etc. with RhinoMocks.  The fact that you can do this is not revolutionary at all - after all Phil Haack discussed it in a previous post a while back.

To me, the big news about this is that Microsoft's MVC support toolkit has now implicity supported one mocking framework above the rest.   I don't think this is a worry for TypeMock considering it's almost a different beast entirely, but I can't see how something like this doesn't pretty much kill NMock dead.  And hey, I'm pretty ambivalent about it - after all, *I* don't use NMock, and obviously if Justice Gray doesn't use your tool, it almost doesn't exist!  I know, I know, some of you might say "Well, NMock can always provide their own mocking extension methods" but defaults are *crucial* for many teams.  There will be (a smaller number, but still some) dev teams that are picking up mocking and simply go with Rhino because it is now seemingly endorsed by one of the world's largest software vendors.  I don't know how often Microsoft actually includes dependencies like this on 3rd party DLLs, but I can't imagine it happens much. 

Aside from basically endorsing one mocking framework above all, in some ways this is also a promising step because Microsoft is at least demonstrating - to some small degree - that they actually care about making testing easier.  As well, they have also taken a small step towards helping the whole concept of mocking get some recognition.  After all, from a "big co" standpoint it's a lot easier to take a step towards learning or getting on board with some of these things when it doesn't seem like some "fringe" thing that only ultra-CSGs* do.

Of course, the potential controversy caused by Rhino/Ayende and MS being totally in bed with each other** is *dwarfed* by bombshell #2.  Trust me.  And that one comes next...

[update: the other three parts in this series can be found by clicking below:
MVC Preview 1 to Preview 2 Part A
MVC Preview 1 to Preview 2 Part B
MVC Bombshell #2]

* Comp Sci Geeks
** that's an exaggeration, before I am hauled off to Turkish prison



Thursday, March 06, 2008 #

3/6/2008 1:08:51 PM (Mountain Standard Time, UTC-07:00)
"Of course, the potential controversy caused by Rhino/Ayende and MS being totally in bed with each other..."

Seriously, I read that last bit and had a picture of Ayende and Guthrie lying in bed while Roy Osherove fed them grapes, Rob Conery fanned them with a big feather, and Phil Haak was tied to the end of the bed with a studded collar.

D
3/6/2008 1:55:53 PM (Mountain Standard Time, UTC-07:00)
I think given the past history of posting on your blog, I speak for EVERY HUMAN BEING ON EARTH when I ask you not to make that a photoshopped image.
3/6/2008 5:42:15 PM (Mountain Standard Time, UTC-07:00)
I'm not so sure this is the bombshell you're making it out to be. With CAB they shipped two unit test projects, one for VSTS and one for *NUnit*. Nowhere was MbUnit, CsUnit or any other testing framework present in their test code. Did that make the statement that MS was supporting NUnit? Not really. They just wanted to show you could use alternatives IMHO. In the case of the MVC framework they need to mock something out for testing purposes so why not use Rhino? Got a better suggestion? They can't put in a reference to TypeMock (or any other commercial mock library) as that's just not cool. "Hey kids, download our free tools but you'll need a trial to Product ABC to compile it". Again, Rhino is free and anyone wanting to do interaction testing is going to need a mock framework. The one in NUnit isn't really meant to be exposed outside of NUnit and there's nothing else at MS that's mature enough to handle the mocking needs of the MVC framework. So I may be daft but I'm not seeing where the bombshell is here?
3/6/2008 9:17:02 PM (Mountain Standard Time, UTC-07:00)
Hey Bil,

I honestly am not as aware of the history of MS shipping stuff with third-party dependencies, and thus didnt know about CAB. You are probably right there.

As well, I guess it's not as big a bombshell in some ways because you're right - what else is there to support? NMock was pretty much dead anyway, TypeMock is commercial, and that's really about it. I think I may have been influenced coming from an environment where we used to have quite active discussions about whether to use TypeMock or RhinoMocks - but that was back when they were a little more competitive.
3/7/2008 9:38:10 PM (Mountain Standard Time, UTC-07:00)
Justice, you're insane. Simser, you're right on. There's no implicit or explicit support for any framework. The goal is to work with any Mocking Framework. I'll use TypeMock in another demo. This is coin-flip decisions. Nothing to see here, move along.

:P
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):