JetBrains dotCover is a .NET code coverage tool with an integrated test runner that lets developers easily determine how much of their code is covered by tests. It enables code coverage analysis right in Visual Studio 2005, 2008, 2010 and 2012.
dotCover comes with a unit test runner that it shares with ReSharper, JetBrains .NET developer productivity tool, to enable analyzing coverage of unit tests based on MSTest, NUnit, xUnit, or MSpec. However, even if you don’t have ReSharper installed, you can still use dotCover for running and analyzing coverage of unit tests based on NUnit and MSTest. In case you have both ReSharper and dotCover installed, you can choose which unit test runner you want to use, or alternatively use them both.
- dotCover is a plug-in to Visual Studio giving you the advantage of analyzing and visualizing code coverage without leaving your code editor. Currently dotCover integrates into Visual Studio 2005, 2008, 2010, and 2012
- dotCover calculates and reports statement-level code coverage for applications built with .NET Framework 1.0 to 4.0, as well as in Silverlight 4 and 5. dotCover helps you learn to what extent your code is covered with unit tests. It also helps developers and QA engineers test software products as thoroughly as possible by reporting code coverage for automated and manual test runs.
In addition to the tree view for visualizing coverage data, dotCover can highlight covered and uncovered lines of code right in the Visual Studio code editor. You can specify light, medium, or dark color schemes for code highlighting to match your preferred Visual Studio theme.
In the coverage tree view, you can exclude a specific node, or all nodes except the current one, from the coverage calculation. As soon as you’ve excluded one or more node, dotCover instantly recalculates the percentages of covered and uncovered code. This is useful for focusing on production code or filtering out code that you’re not interested in testing right now.
In addition to including or excluding nodes in the coverage tree, you can set global or solution-specific coverage filters based on project, namespace, type, or type member names. Attribute filters are also available that restrict gathering coverage information from code marked with certain attributes. dotCover uses these filters to include or exclude coverage data during a coverage run.
dotCover includes a command line runner, which is a great fit with continuous integration servers and can easily be called from build scripts. JetBrains’ own continuous integration product, TeamCity, bundles dotCover’s coverage analysis engine, which helps schedule coverage runs as part of the continuous integration process and generating server-side coverage reports. Via the TeamCity add-in for Visual Studio, dotCover is able to obtain coverage data from a TeamCity server – without running coverage analysis on a local machine.