As I’ve said before, our team has begun doing unit testing. At first we used NUnit and NCover for this purpose, although we have VSTS licenses. This was for the following reasons:
- NUnit is faster than VSTS (and that test panel really slows down the IDE… Like it isn’t slow enough!).
- NUnit has more features than VSTS (although for now we’re using only the basics anyway) and less bugs.
- NUnit has more support and lots of googleable knowledge. It is definitely the more mature solution.
- NUnit feels more "clean" to me. You don’t have to create a special test project for it, and it doesn’t add any weird solution items. You just create a library project and can start testing.
We are now changing back to VSTS testing, for the following reasons:
- Team Foundation Server natively supports it.
OK, so that’s only one reason, but it’s a pretty damn good one. Since we are already using TFS for our source control and spent quite some time learning it and setting it up, it makes the most sense for us to use it as our continuous-integration server. That’s where we’ll do our nightly builds, code analysis, etc.
I find this (having to choose the less mature tool) rather annoying, but what comforts me is that thanks to Test Driven.NET the daily work is hardly affected, and you don’t have to use that annoyingly slow test window (unless you’re really eager to get pretty GUI for your tests).
Life is full of compromises, I guess.