Welcome to the official NCrunch documentation!
Here you will find resources, guides and reference material related to the installation, configuration and use of NCrunch for Visual Studio.
If this is your first time using NCrunch, it's strongly recommended that you read the Guides, along with the Considerations And Constraints within this documentation. The need for this is even more strongly emphasised if you are seeking to use NCrunch for the first time on an existing solution with a history of test driven development behind it.
Guides | |
---|---|
Quick Start Guide | Gives a quick overview of how to use NCrunch in a simple situation |
Integration Testing | Explains how to tackle more complicated (integration) tests with NCrunch |
Performance Tuning | Explains how to configure NCrunch for best performance and/or reduce system load |
Distributed Processing | Explains how to offload NCrunch's processing onto other computers, and/or leverage these computers to maximise performance and throughput. |
Console Tool Usage | Explains how to set up and use the NCrunch Console Tool, a headless version of NCrunch designed for use on build servers. |
Concepts | |
Advanced Configuration | Describes how to unlock the power of NCrunch's configuration system |
Code Coverage Suppression | Describes how to suppress NCrunch's code coverage analysis for specific regions of code |
Engine Modes | Describes the 4 built-in 'engine modes' used to control NCrunch's behaviour, along with how to create your own engine mode |
Ignored Tests | Explains how to prevent NCrunch from executing certain tests by using its built-in 'ignore' feature |
Parallel Execution | Describes NCrunch's behaviour when running tests in parallel, and how to to enable this feature |
Pinned Tests | Explains how to 'pin' tests to the Tests Window and how this can be useful in day-to-day development |
Processing Queue | Describes the NCrunch processing queue along with its purpose and how to read it |
Risk And Progress Bar | Describes the Risk/Progress bar and how to use it |
Test Categories | Explains how to categorise tests in all test frameworks supported by NCrunch |
Test Pipeline | Explains how the core engine of NCrunch functions and processes tests |
Test Timeouts | Explains why test timeouts are important when using NCrunch, and how to control them |
Tests Window | Introduces the NCrunch Tests Window along with its various features |
Workspaces | Describe how NCrunch shadows the solution loaded into Visual Studio, and how it creates build/test environments |
Considerations And Constraints | |
Absolute File References | Explains how absolute file path references from code can create problems for NCrunch and how to solve these issues |
Assembly and Resource Collocation Assumptions | Explains how code that assumes output assemblies and their resources to be collocated can fail when executed by NCrunch and how to work around this |
Concurrent Use Of Test Resources | Explains how some integration tests can cause problems when set to run in parallel by NCrunch, and how to resolve these problems |
Cross Application Domain Testing | Explains the implications of executing tests that span multiple process or application domains using NCrunch |
Heavily Executed Code Under Test | Explains how to deal with code under test that is very heavily executed and/or performance critical |
Implicit File Dependencies | Explains how file references that are not made obvious to NCrunch can create runtime and build issues, and how to resolve these issues |
Multi Threaded Tests | Explains the implications of tests that execute across multiple threads, and gives suggestions on how to best control these tests |
Project Atomicity | Explains why project atomicity is important, and how complex or implicit relationships between projects can create problems |
Project Build Platform And Configuration | Explains the configuration and platform differences between the NCrunch build process and the build process controlled by Visual Studio |
Test Atomicity | Explains certain testing situations that can behave differently under NCrunch, stressing why test atomicity is important and giving examples of how to resolve specific issues |
Using NCrunch With Source Control | Explains how to make best use of NCrunch when working with a source control or version control system |
Reference | |
Global Configuration | Describes NCrunch's global configuration and its various settings |
Solution Configuration | Describes NCrunch's solution-level configuration and its various settings |
Project Configuration | Describes NCrunch's project-level configuration and its various settings |
Runtime Framework | Describes the NCrunch features made available through the use of the optional NCrunch.Framework library |
Troubleshooting | |
Compatibility Mode | Describes a configuration set that can be useful in deductively analysing problems |
Installation And Setup Problems | Explains how to resolve installation and setup problems |
Missing Code Coverage | Explains how to resolve and understand situations where code coverage is not shown as expected |
NCrunch Specific Overrides | Explains how to introduce alternative build and/or runtime behaviour for code running under NCrunch |
Project Build Issues | Explains how to resolve issues with projects that fail to build under NCrunch |
Test And Runtime Related Issues | Explains how to resolve issues with tests not behaving as expected under NCrunch |
Tests That Build Their Own Appdomains | Demonstrates a pattern for solving issues with cross-application domain tests |
X86 X64 Platform Issues | Describes how to resolve problems related to CPU architecture within NCrunch's build and test environment |
Tools | |
Console Tool | Describes the NCrunch Console Tool in detail. |
Other | |
Keyboard Shortcuts | Lists the default shortcut keys available when using NCrunch |
Manual Installation Instructions | Describes how to install NCrunch manually in VS2010 and VS2012. |