NCrunch is an automated parallel continuous testing tool for Visual Studio .NET. It intelligently takes responsibility for running automated tests so that you don't have to, and it gives you a huge amount of useful information about your tests (such as code coverage and performance metrics) inline in your IDE while you work.
Think about the usual steps you go through with test driven development:
As a highly optimised test runner, NCrunch can knock half of these steps away by automating them completely - so you end up with:
What's more, by delegating away all of that mundane running of tests, you also get a whole range of extra goodies.
NCrunch collects test coverage for your code while it runs your tests. This is shown next to your code in coloured markers showing which lines the tests touched, and whether the tests passed or failed. You can also navigate to any covering tests from any line of code, making it easy to see which tests you might impact with a change. Full code coverage metrics are also available for your solution, allowing you to see where your code coverage is heavy and where it's light.
NCrunch profiles your tests during their execution to pick up the execution time of every line of code under test. Metrics are shown inline conveniently with a tooltip, and 'hot spots' are shown with special colouring on the code coverage markers.
The stack traces of exceptions thrown from your tests are processed by NCrunch and projected over the code coverage markers - making it really easy to spot where your tests went wrong, without the information getting in your way.
NCrunch will always run your tests in the most intelligent way possible, prioritising tests that you have recently impacted with your code changes. It uses a powerful weighting system designed to give you the most important feedback as fast as possible.
Where your tests support it, NCrunch can be configured to run them in parallel across separate processes. This can cut your end-to-end test times down by a huge factor over any normal synchronous test runners.
NCrunch will only use as much CPU as you tell it to, ensuring that the constant churning of tests won't adversely impact your coding experience in Visual Studio.
NCrunch makes it really easy to debug your tests, allowing you to break into a line of code with the debugger using a single context menu command or shortcut key.
If you don't like having all your tests run automatically, you can choose to run them manually. NCrunch also lets you create very configurable filters to choose which tests you want to run automatically.
NCrunch automatically picks up everything - whether in an unsaved code window or on the file system. There's no need to manually save your work or rebuild your projects in order to run your tests. NCrunch does it all.
NCrunch was built with big projects in mind. It has been fully tested and found to work well on solutions with hundreds of thousands of lines of code and many thousands of tests.
Supported testing frameworks are:
The Xunit and MbUnit test runners are provided with thanks to The Gallio Project.
Supported languages and .NET versions are:
Note that Visual Studio Express is not supported by NCrunch.
There isn't one. NCrunch is completely free during its beta testing period - so why not give it a try?