Code coverage
Code coverage in RustRover lets you analyze which lines of code were executed during a particular run. It helps determine the share of code covered by tests and identify areas that lack sufficient test coverage.
Run with coverage
The entry points for running coverage analysis are the same as you would normally use to run an application:
For main method definitions, click Run in the editor gutter, then select Run with Coverage
For run configurations, click More Actions in the Run widget, then select Run with Coverage
Coverage analysis executes the corresponding run configuration with the coverage agent attached. This agent instruments the bytecode to keep track of the execution line-by-line. After the execution completes, the results of the analysis appear in the IDE.
Coverage suites
The collection of coverage data for a specific run is called a coverage suite.
RustRover can display the results for one or more coverage suites at once. If multiple suites are selected, the IDE displays merged results from these suites. This means that a line is considered covered if it was executed in at least one of the selected suites.
The corresponding suite files are located in the RustRover's system directory:
%LOCALAPPDATA%\JetBrains\RustRover2024.3\coverage
~/.cache/JetBrains/RustRover2024.3/coverage
~/Library/Caches/JetBrains/RustRover2024.3/coverage
Manage suites
In the main menu, go to
Ctrl+Alt+F6.In the Choose Coverage Suite to Display menu:
Use the checkboxes to select active suites. Active suites define the coverage data that is currently displayed in the IDE.
Use Add to import external suite file, for example, generated in the CI server or sent to you by someone else.
Use Remove to remove a suite from the list but keep the file in the storage.
Use Delete to remove a suite from the list and delete the file from the storage.
Read coverage data
Code coverage results are displayed in the Coverage tool window, in the Project tool window, and in the editor after you launch at least one run configuration with coverage.
Additionally, these results are saved to the coverage folder in the IDE system directory.
Hide coverage data
Do one of the following:
Close the tab with coverage statistics in the Coverage tool window ( ).
Click coverage highlighting in the gutter and select Hide coverage.
Generate coverage report
Generate the report
Go to Coverage tool window.
, or click in theIn the Generate Coverage Report dialog, specify the directory to store the generated report and optionally select the Open generated HTML in browser checkbox.
If there are several projects opened in the same window, make sure that the suggested output directory is correct.
Click Save.
Configure code coverage
Project settings
You can configure the following options per project:
Show options before applying coverage to the editor | Ask whether to make the recently collected coverage suite active every time you run coverage analysis. In this case a dialog will appear, where you can choose to only display the new results, to add them to the existing results, or save them to storage without viewing. |
Do not apply collected coverage | Only save the recently collected coverage suite to storage after you have run coverage analysis. In this case, new coverage data will not be shown unless you explicitly select the corresponding suite in . |
Replace active suites with the new one | Hide the currently shown coverage suites and use the newly collected one after you have run coverage analysis. In this case, only the results from the most recent coverage run will be shown. |
Add to the active suites | Add the newly collected coverage suite to the list of active suites after you have run coverage analysis. This keeps the existing coverage results and adds the new results on top of it. |
Activate Coverage View | Open the Coverage tool window every time you run coverage analysis. |
Change colors of the coverage highlighting
Press Ctrl+Alt+S to open settings and then select
.Alternatively, click in the popup that opens on clicking the coverage indication line in the gutter.
In the list of components, expand the Line Coverage node and select a type of coverage: for example, Full, Partial or Uncovered.
Click the Foreground field to open the Select Color dialog.
Select a color, apply the changes, and close the dialog.