This page details the latest updates and changes in dotCover.
Free 30-day trial available
We've reworked the continuous testing workflow to improve usability:
Previously, each unit test session could be converted into a continuous testing session, which could lead to confusion when multiple sessions are running.
Now, there is a single, separate continuous testing session. This change makes it easier to manage and understand your testing workflow.
dotCover has a new icon for continuous testing in ReSharper and Rider. The icon shows the current testing state, including whether there are any failed tests. In addition, it provides several quick actions: enabling or disabling continuous testing, viewing coverage results, toggling code highlighting, and more.
Now, you can perform coverage analysis of unit tests and applications based on the MAUI framework. Currently, dotCover supports only WinUI desktop applications targeting .NET 7.0+ on Windows. This applies to dotCover standalone and dotCover in ReSharper and Rider.
dotCover in Rider and ReSharper gets improved code highlighting: new background colors, a new gutter icon for partially covered code lines, and other minor changes.
dotCover command-line tools are now provided as a cross-platform framework-dependent .NET tool.
This tool acts as a default solution for CI/CD scenarios and replaces the previous one.
Now, it's possible to trigger Continuous Testing directly by applying a shortcut. Previously, you could do this only indirectly by building or saving your project. This feature works in both Visual Studio with ReSharper and JetBrains Rider.
Now, you can use dotCover on ARM64 CPUs on Windows. This applies to all versions: dotCover standalone, dotCover in Rider, dotCover in Visual Studio, and the dotCover console runner.
You can now use the dotCover console runner on ARM32 CPUs on Linux. The supported frameworks are .NET Core 3.1 and .NET 5.0–7.0.
We’ve added the Show Covering Tests action to the dotCover context menus in both the code editor and Unit Test Coverage window. This action shows a popup with all covering tests together in the same place. The popup also lets you create a new coverage session.
Now dotCover copies only the assemblies and symbol files required for continuous testing in both Visual Studio and JetBrains Rider. This improves dotCover’s overall performance, especially on large projects, as it no longer needs to copy the entire working directory. If necessary, you can adjust the shadow-copy file filter in the dotCover settings.
Previously, to analyze the coverage of Unity tests you had to restart Unity with coverage support enabled. Beginning with this release, restarting Unity is no longer required and test coverage is supported out of the box.
You can now quickly view coverage results for the file you have open using the shield icon. Clicking on the icon navigates you through the uncovered statements.
The dotCover command-line runner now supports Alpine versions 3.13–3.15. The following CPUs and frameworks are supported:
We’re adding new report types that include per-test coverage information:
FileCoverageXml
,
DetailedFileCoverageXml
,
FileCoverageJson
, and
DetailedFileCoverageJson
.
New reports include three sections:
Files
, which includes information about covered source code files.
Detailed reports also provide information about covered ranges per file.
TestLists
, which offers information about tests aggregated by test set.
Tests
, which contains detailed information about each test.
You can now use comments to exclude certain lines or blocks of code from coverage analysis. Several options are available for this:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
For any of these options to work, you must reference the
JetBrains.dotCover.MSBuild NuGet
package. This is a development-only
dependency that won't be included as a run-time dependency in your project.
We’ve improved the post-processing of coverage data. For example, the console
runner (with IncludePerTest=true
) takes significantly less time
to generate reports.
The dotCover command-line runner now works on computers with Apple silicon processors. It can provide coverage analysis for .NET 6 applications (native mode) and .NET 5 applications (Rosetta 2 mode).
A new Code Vision metric has been added to dotCover in Rider. For each type member included in a set of tests, dotCover shows the number of successful and failed tests. You can also use a Code Vision notification to run, cover, and debug the tests.
The dotCover .NET global tool now includes the merge and report commands.
We’ve improved the performance of the dotCover command-line runner, resulting in faster coverage analysis.
The dotCover console runner is able to collect coverage information for individual
tests and show it in the generated reports. Currently, only the following test runners
are supported: dotnet test
, dotnet vstest
,
vstest.console.exe
. For example:
dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML
--IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"
You can now configure coverage filters in Visual Studio with ReSharper in the same way as in JetBrains Rider.
You can install the dotCover console runner as a dotnet
global tool:
dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
Use it to analyze coverage in your .NET Core projects and unit tests.
Free 30-day trial available