Coverage is merged, not summed. The merged report shows all unique coverage that was completed, but the results are not additive --20% coverage plus 30% coverage does not equal 50% coverage, because it's to be expected that profiling of some code will overlap. When the same code is covered twice, the highest coverage for each individual sequence point is reported.
Merge Filter Mode
There are three different modes for handling the coverage files. The default method will remove all of the excluded items from all of the coverage files being merged into the base coverage file. The base coverage file will retain all of the Filters originally defined in the coverage file.
Possible Values:
Default (default)
KeepSourceFilters (default): See Description
Destructive: Remove all excluded nodes from all coverage files and remove the filters from all coverage files. This is designed to act the same as v1.5.7.
AppendFilters: Merge Everything together and let the filters perform the needed exclusions. This can get interesting if collisions exist across coverage files.
//mfm Destructive
Merged Coverage Data
Persists the merged coverage data from the input files to disk, along with the Filters that were used.
Usage:
//s "C:\dev\saved\merge1.xml"
Example:
NCover.Reporting CoverageFile1.xml CoverageFile2.xml CoverageFile3.xml //s MergedCoverageFile.xml
Working Directory
Sets the working directory. Relative paths in the other options are assumed to start in the working directory.
Usage:
//w "C:\dev\myproject\bin\debug"