For most of the time, I write code using the test-driven development methodology. This means that I write a bit of code, run a suite of tests, write a bit more code, run some more tests, etc. For this reason, I need unit testing to be an integrated part of my development experience: It should be integrated with Visual Studio and readily available.
Before Visual Studio 2005 Team System, I used NUnit for unit testing. It actually worked pretty well: Usually, I hooked up the Visual Studio debugger to launch the NUnit GUI, so whenever I wanted to run a test suite, I just pressed F5. That would launch the NUnit GUI with all the appropriate tests loaded and I just had to hit Enter to make it run. NUnit could use an XML-based configuration file, so I could define a test suite from multiple tests projects. The hierarchical nature of NUnit's test lists made it easy to run only relevant tests at times when I wanted to narrow down my focus a bit.
When I first began using Visual Studio 2005 Team System, I have to admit being a bit disappointed with the user interface. Although I could see a list of my tests integrated in the IDE, there was a lot of mouse-clicking involved in running tests. For test-driven development, this seemed rather clunky, but I decided to give it a chance, since James Newkirk (one of the original NUnit authors) had been involved in the unit testing features of Visual Studio 2005 Team System - this suggested to me that the different UI approach wasn't necessarily a result of ignorance on the VS team's part.
As I expected, I have slowly evolved a different way of working with the Visual Studio Test Lists when doing test-driven development. Here's how I handle the different challenges:
Test-driven development with Visual Studio 2005 Team System is not like using NUnit, and while I'm not saying that it's better, I also don't think that it's worse - it's just different.
Update: If you are an international user (like me), you may experience that the Shift+Alt keyboard shortcut doesn't work. That's because this keyboard combination is also used in Windows to change keyboard layout (e.g. on my machine, it would change from Danish to English, and vice versa). Since I only find it counter-productive to suddenly find myself typing on an English keyboard (when I expected a Danish layout), I always remove the English keyboard.
This has worked well on Windows XP, but it turns out that it's not enough on Windows Vista. However, you can still get the shortcut to work in Visual Studio: Go to the Control Panel and click on Change keyboards or other input methods. On the Keyboards and Languages tab, click the Change keyboards button. In the Text Services and Input Languages dialog, select the Advanced Key Settings and assign another hot key for the Between input languages action. The shortcut should now work in Visual Studio.