What is NCrunch?
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.
How does this help me?
Think about the usual steps you go through with test driven development:
- Write test
- Stop and run tests
- Write code
- Stop and run tests
- Refactor code
- Stop and run tests
As a highly optimised test runner, NCrunch can knock half of these steps away by automating them completely - so you end up with:
- Write test
- Write code
- Refactor code
What's more, by delegating away all of that mundane running of tests, you also get a whole range of extra goodies.
What else does NCrunch do?
Code Coverage
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.
Performance metrics
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.
Inline Exception Details
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.
Intelligent Execution of Tests
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.
Parallel Execution
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.
Smart Support for Multi-core/Multi-processor Systems
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.
Easy Debugging
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.
Full Synchronisation with your Codebase
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. Whenever you feel like you want more control, there's also a manual mode.
Support for Large Systems
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.
Distributed Processing
NCrunch can offload all processing onto remote machines, freeing up your workstation and allowing you to scale your testing needs across many systems or even into the cloud. Pool your resources with other team members to maximise your testing throughput!
Continuous Integration Support
NCrunch has a headless version that can be used inside your CI system to leverage its features as part of a build process.
What frameworks does NCrunch support?
Supported testing frameworks are:
- NUnit
- MS Test
- Xunit
- MbUnit
- MSpec
- SpecFlow
Supported languages and .NET versions are:
- C#
- VB.NET
- F#
- .NET Framework v2.0 and above
- .NET Core
- .NET Standard
- Visual Studio 2010
- Visual Studio 2012
- Visual Studio 2013
- Visual Studio 2015
- Visual Studio 2017
- Visual Studio 2019
- Visual Studio 2022
I have a question or a problem! Where can I find help?
Go check out the NCrunch website, the NCrunch documentation or the Support forum. If you're in a hurry, it's also worth reading the Quick start guide.