ReSharper 2024.3 Help

Execute tests

ReSharper provides several ways to execute unit tests. Whichever way you choose, execution progress, test results, and output are displayed in the Unit Test Sessions window , coverage results are shown in the Unit Test Coverage window .

Different ways to run or debug unit tests

Start test execution

  • Use one of the ways to execute tests in the current document.

  • Use one of the ways to execute tests in the project/solution.

  • If there are existing unit test sessions, you can run or debug some or all tests in a session:

    • Select tests that you want to execute in the Unit Test Sessions window and click Run Unit Tests Run Unit Tests Control+T R/Debug Unit Tests Debug Unit Tests Control+T D on the toolbar.

    • To run all tests in the session, click Run Current Session Run Current Session Control+T Y on the toolbar or alternatively, choose ReSharper | Unit Tests | Run Current Session from the main menu.

    • To keep automatically starting and running selected tests until one of the tests fails, expand the selector at the Run Unit Tests Run Unit Tests Control+T R button and choose Run Unit Tests Until Fail.

As tests are running in a unit test session, the execution progress is shown in the status bar under the toolbar of the Unit Test Sessions window and the progress icon is displayed next to the currently executing test. You can run multiple unit test sessions simultaneously. However, when you debug tests, only one test session can be executed at a time.

If necessary, you can enable the Track Running Test ThemedIcon.TrackRun.Screen.(Gray).png option on the toolbar. If it is on, the selection in the test tree switches automatically to the test that is currently running and the output panel always shows output of the current test during the execution.

You can also enable the Auto Scroll Output When Running Test ThemedIcon.ScrollToBottom.Screen.(Gray).png option to follow output of tests as they are running.

Stop test execution

  1. Click Stop Execution ThemedIcon.StopTest.Screen.(Gray).png on the toolbar to abort execution of the tests.

  2. ReSharper will send the signal to the test runner to stop execution. Depending on the test framework, the execution can be aborted immediately, or the runner may try to finish the current test and stop after that.

  3. If the test runner continues executing the current test, the Stop Execution icon changes to ThemedIcon.Abort.Screen.(Gray).png. You can click it again to force quit the test runner process.

If necessary, you can always re-run the tests that you executed last by clicking Repeat Previous Run ThemedIcon.Rerun.Screen.(Gray).png on the toolbar, pressing Control+T T or choosing ReSharper | Unit Tests | Repeat Previous Run from the menu.

Customize execution process

By default, ReSharper uses unit test project settings to define which .NET Framework version and processor architecture should be used when executing tests.

When tests in your project use (sometimes indirectly or implicitly) an assembly based on CLR2 and your project already targets CLR4, errors may occur during test execution. You can avoid such situation, by specifying explicitly what CLR (.NET Framework) should be used. To do so, use the Default .NET Framework version selector on the Tools | Unit Testing page of ReSharper options Alt+R, O. This preference affects tests running under NUnit, XUnit and MSpec test frameworks. It has no effect on tests running under MSTest yet.

You can also change the platform architecture (32-bit or 64-bit) using the Default platform architecture selector on that options page.

If necessary, you can override these settings for specific unit test session using the Options selector on the toolbar.

Last modified: 01 October 2024