At the recent TDD Firestarter event here in Tampa, a second issue came up in the reviews – namely why we chose to use NUnit over MSTest (given that it was held in an Microsoft office). Several reasons came up – cost (MSTest requires Visual Studio Pro), integration (MSTest requires Visual Studio to be installed on your build server to run tests as part of a CI build), and extensibility (have to wait a full dev cycle to get interesting things added in).
I will give MSTest credit for opening the eyes of those at “Microsoft-Only” shops (and yes, they do exist) to unit testing at the developer level. However, it’s time for a change – and Christopher Bennage raised an interesting idea on Twitter tonight. Instead of shipping MSTest, why not just integrate an external framework like NUnit, MbUnit or xUnit.NET ala the JQuery integration?
It gives the community the integration they long for, while allowing the framework to remain agile and open to modifications without having to go through a whole dev cycle. You’d have to figure out TFS Integration, and things like the DBPro Unit Tests. But it would be a great next step for truly helping introduce quality to the dev tool space within Visual Studio.