Development, Testing

NCrunch – A plugin that makes TDD sexy

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.

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s