Before I started working at my current job I’ve never seen continuous testing tools. For me running unit test, despite being really useful, was a chore that I would do after modifying several files and (usually) writing few additional tests.
It shouldn’t come as a surprise, that several of them will be failing, enabling me to do what developers like the most – fixing errors in their code or, even more fun, fixing errors in somebody else’s code.
Enter NCrunch – a plugin that eats half of your processor cores by just enabling it. The most noticeable change is it will show you test coverage of every line of code that you view. This in itself helps you find lines for which all tests pass and the ones for each there is at least one test failing. It will also show where exceptions are being thrown and lines that take relatively long time to execute.
But what makes this tool really powerful (and worth money we have to pay for mere VS plugin) is continuous execution of affected unit tests even without saving our changes. Whenever we do some changes NCrunch immediately finds tests that could potentially be affected by our change (which is all tests that during its run cover changed lines), executes them and immediately updates color of the dots.
This way you can see how your changes affect tests without even once clicking Test -> Run -> All Tests!
Most notable configuration options enable you to choose how many cores will be used to run tests and if you prefer to run tests in parallel or prefer queue (which might be only option in case, which by the way never happens, when your unit tests uses some external dependencies like databases or web services, whose state might change).
I was thinking about linking some images or maybe video of me screencasting, but all you have to do is literally google NCrunch and watch their promo video on main page. For me TDD will never be the same without it.