NCrunch
A colleague of mine pointed this one out. NCrunch is a “continuous testing” extension for Visual Studio. In the past I’ve been turned off by continuous testing tools, because they were clunky. They ran outside of the IDE and basically only ran in response to you doing a build, which often meant they were still running tests long after I’d moved on to something else. These tools just were not conducive to TDD, in my opinion.
NCrunch appears to be quite different. Like IntelliSense and code corrections, NCrunch compiles in the background as you modify your code. It will compile and run your (relevant) tests in the background in response to you modifying code even without you saving the file, much less in response to a compile. So, in exactly the same manner as I see when I write some code that won’t compile, I see whether or not a test will pass as I write it, or the code under test. In addition, you see (as you type) the test coverage. You can even navigate back and forth between the test code and the code under test through the test coverage UI. Seriously, watch the video on the project’s home page to marvel at what I’m doing a poor job of explaining in prose here.
My colleague called this half-baked-ware. It’s under heavy development and there are bugs. But he claims that despite the bugs, it does work quite nicely and delivers what’s promised. I’ll be giving it a spin and can provide a better review once I have, but it looks promising enough that I thought I needed to share. Surprisingly, despite the number of blogs I follow on a daily basis (over 200 tech blogs!), this was the first I’d heard of this tool, so I’m sure many of my followers will not have heard of it either.