dotCover Help

Setting up Coverage Filters

In Visual Studio:
ReSharper | Cover | Edit Coverage Filters

In dotCover standalone application:
File | Edit Coverage Filters

Sometimes, you do not need to know code coverage data solution-wide. For example, you may not be interested in coverage statistics for code marked with ObsoleteAttribute or a specific legacy project. In this case, you can set coverage filters based on namespace, project, type, type member, or attribute.

By default, dotCover provides built-in filters for system assemblies. You cannot view or edit these filters. However, if you need to disable these filters, clear the Filter out system and auxiliary assemblies check box on the Environment | General page of dotCover options.

After you calculate code coverage, the filtered items are not included in the coverage snapshot and not shown in the Coverage Results Browser or in the Coverage area of the Unit Test Sessions window .

In this topic:

Viewing and modifying coverage filters

There are two scopes for coverage filters:

  • All Solutions - global filters that apply to all solutions in your computer.
  • Current Solution - per-solution filters that apply to the current solution. You can share these filters with your team; see Sharing coverage filters for details.

You can view and edit coverage filters in the Coverage Filters dialog. To open this dialog, do one of the following:

  • In Visual Studio, choose ReSharper | Cover | Edit Coverage Filters on the main menu or press Ctrl+Alt+K,F.
  • In dotCover standalone application, choose File | Edit Coverage Filters

When you open this dialog, you can see filters in both scopes. If no solution is opened, the dialog shows only global filters.

By default, dotCover provides one global filter for excluding code items by the ExcludeFromCodeCoverageAttribute attribute. If necessary, you can enable/disable, modify or remove it.

To view and modify current coverage filters

  1. Open the Coverage Filters,
  2. Use the Group by selector to change the grouping of filters - by scope or by kind.
  3. To enable or disable a filter, use the check-box next to it.
  4. To remove a filter, select it in the list and click Delete
  5. To edit a filter, select it in the list and click Edit. In the Edit Coverage Filter dialog that appears, make necessary changes as described for adding a new filter below.
  6. Click Save to save and apply your modifications, if any.

Adding new coverage filters

To add a new coverage filter

  1. In the Coverage Filters dialog, click Add filter.
  2. In the Add Coverage Filter dialog that appears, choose the type of filter rule:
    • Analyze code in - to include the specified code item into code coverage analysis and exclude all other code items.
    • Do not analyze code in - to exclude the specified code item from code coverage analysis.
    • Do not analyze code marked with attribute - to exclude code items with the specified attribute from code coverage analysis.
  3. If you have chosen one of the first two options, specify an assembly, a class, and/or a method to be included or excluded in the coverage analysis. Code items are filtered independently on one another. For example, if you specify a method and leave asterisks (*) for assembly and class to exclude methods with the specified name from all assemblies and all classes.

    You can use asterisk wildcards when specifying code item names in a filter: '*' (asterisk) represents zero or more characters.
    For example, you can use the *.Tests wildcard that will exclude all test projects from code analysis.

  4. If you have chosen the last option, specify the name of the attribute that will be used to exclude symbols from the coverage analysis. Optionally, specify the assembly name where this attribute is declared.
  5. In the Apply filter to section, specify the scope of the filter: All solutions or Current solution.
  6. Click OK to finish adding the filter.
  7. In the Coverage Filters dialog, click Save to save and apply your modifications.

Sharing coverage filters

Solution-wide filters are saved in the Solution team-shared settings layer and, therefore, can be shared within other developers who work on this solution.

In fact, all you need to do to share solution-wide filters is to put the [SolutionName].sln.DotSettings file in your solution folder under a version control system (VCS). As soon as other team members get this file from VCS the filters will be applied on their computers as well.

Note that other JetBrains products that integrate into Visual Studio may store their solution-wide team-shared settings in the same file. Therefore, if you put this file under VCS, bear in mind that other product's settings may be shared as well. For more information, see Managing and Sharing DotCover Settings.

Other ways of filtering and searching coverage results

Besides setting up coverage filters in the Coverage Filters dialog box, dotCover provides the following ways of filtering and searching coverage results;

See Also

Last modified: 15 September 2015