Unit Testing

Running and Debugging tests

ReSharper automatically detects unit tests of NUnit and MSTest frameworks in your .NET projects; for JavaScript, QUnit and Jasmine frameworks are supported. Other unit testing frameworks such as xUnit.net and MSpec are supported via ReSharper plugins.

Next to declarations of test classes and single tests, ReSharper adds special icons on the left gutter of the editor window. Click these icons to run or debug tests.

Tests can also be run from the context menu. In addition, an arbitrary set of unit tests can be run or debugged from the Visual Studio's Solution Explorer. Just right-click the project or solution and select Run unit tests or Debug unit tests.

Unit Test Explorer

ReSharper presents Unit Test Explorer — a structured list of unit tests for reviewing the structure of tests in your whole solution. The tree is available via the ReSharper | Windows menu and is quickly populated after you build your project. Using Unit Test Explorer, you can run any combination of tests in one or more unit test sessions.

Unit Test Sessions

ReSharper runs unit tests in the Unit Test Sessions window. It is designed to help you run any number of unit test sessions, independently of each other, as well as simultaneously. Sessions can be composed of any combination of tests. In the debugging mode, only one session can be run at a time.

The unit test tree shows the structure of tests belonging to a sessions, which you can filter to show only passed, failed or ignored unit tests. You can navigate to the code of any unit test by double-clicking it.

The progress bar and the status bar display the current progress. You can stop, run or re-build and re-run unit tests at any time.

The preview pane lets you analyze test results and navigate from a failed test's output to the code lines that originated the exception, all with a single click.

Profiling Unit Tests with dotTrace Performance

You can also quickly profile the performance of unit tests from Visual Studio via JetBrains dotTrace Performance, a powerful .NET profiling tool.

To profile tests, you will need to install dotTrace Performance. You will then be able to start profiling directly from the editor using the sidebar marks that ReSharper adds for test classes and individual tests.

Analyzing Code Coverage with DotCover

Another JetBrains tool that helps working with unit tests can be integrated with Visual Studio and ReSharper. With JetBrains dotCover, you can easily discover the degree to which the code of your solution is covered with unit tests.

When you install dotCover, you will be able to analyze and visualize code coverage on unit tests from the selected scope and thus quickly spot uncovered code areas. These data can be very helpful for prioritizing application development and testing activities.