It is no secret that I am not a fan of MSTest (read here for more rants on MSTests). Today's rant is about how MSTest does not allow you to have a clean build server.
Yea I know what you are thinking, here comes another long winded rant on MSTest. Well this should not be too long winded, and hey, it is my blog and I can rant if I want to :).
This week I was trying to setup our build server and I need it to run MSTest tests. I know that MSTest does not run like NUnit, but thought for sure there was a way I could get my tests to run without having to install the full blown version of Visual Studio. After a bit of searching and asking others I came to final conclusion that in fact you cannot get MSTest to run without Visual Studio.
This is an issue to me because when I setup my build server I like to keep it clean. I do NOT want to install any 3rd party software. The way I see it is like this. If we are not going to install the software package on the end users computer, why should I need to install them on our build server, and the last time I checked we do not install Visual Studio on our end users computer.
This is another issue to me because MSTest is the ONLY test framework (for .Net) that I know of that does not run with a single DLL placed into the bin (or any other output directory). I just have to ask the genius' over in Redmond what the hell were they smoking when they decided to build MSTest. It is pretty clear they had no prior knowledge of how to use the other tools such as NUnit, MBUnit or xUnit (I know, xUnit was not out yet). I know this because of all the various testing frameworks MSTest is the one that does everything different. You could argue they were on the cutting edge and were innovating, but I call BS on that.
Anyway, I feel better now telling the world another reason why I am not a fan of MSTest. Sadly I am stuck using it for now and at least in the short term as we have hundred of tests already written in MSTest. But rest assured that I am on a crusade to get our team to switch from MSTest to NUnit (or any other logical framework).
Till next time,
[----- Remember to check out DimeCasts.Net -----]