@@ -35,6 +35,11 @@ public class CoverageReportParser
35
35
/// </summary>
36
36
private readonly int numberOfReportsMergedInParallel ;
37
37
38
+ /// <summary>
39
+ /// Indicates whether test projects should be included.
40
+ /// </summary>
41
+ private readonly bool excludeTestProjects ;
42
+
38
43
/// <summary>
39
44
/// The source directories.
40
45
/// </summary>
@@ -79,6 +84,27 @@ public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfRep
79
84
this . fileFilter = fileFilter ?? throw new ArgumentNullException ( nameof ( fileFilter ) ) ;
80
85
}
81
86
87
+ /// <summary>
88
+ /// Initializes a new instance of the <see cref="CoverageReportParser" /> class.
89
+ /// </summary>
90
+ /// <param name="numberOfReportsParsedInParallel">The number reports that are parsed and processed in parallel.</param>
91
+ /// <param name="numberOfReportsMergedInParallel">The number reports that are merged in parallel.</param>
92
+ /// <param name="excludeTestProjects">Indicates whether test projects should be included.</param>
93
+ /// <param name="sourceDirectories">The source directories.</param>
94
+ /// <param name="assemblyFilter">The assembly filter.</param>
95
+ /// <param name="classFilter">The class filter.</param>
96
+ /// <param name="fileFilter">The file filter.</param>
97
+ public CoverageReportParser ( int numberOfReportsParsedInParallel , int numberOfReportsMergedInParallel , bool excludeTestProjects , IEnumerable < string > sourceDirectories , IFilter assemblyFilter , IFilter classFilter , IFilter fileFilter )
98
+ {
99
+ this . numberOfReportsParsedInParallel = Math . Max ( 1 , numberOfReportsParsedInParallel ) ;
100
+ this . numberOfReportsMergedInParallel = Math . Max ( 1 , numberOfReportsMergedInParallel ) ;
101
+ this . excludeTestProjects = excludeTestProjects ;
102
+ this . sourceDirectories = sourceDirectories ?? throw new ArgumentNullException ( nameof ( sourceDirectories ) ) ;
103
+ this . assemblyFilter = assemblyFilter ?? throw new ArgumentNullException ( nameof ( assemblyFilter ) ) ;
104
+ this . classFilter = classFilter ?? throw new ArgumentNullException ( nameof ( classFilter ) ) ;
105
+ this . fileFilter = fileFilter ?? throw new ArgumentNullException ( nameof ( fileFilter ) ) ;
106
+ }
107
+
82
108
/// <summary>
83
109
/// Tries to initiate the correct parsers for the given reports.
84
110
/// </summary>
@@ -342,7 +368,7 @@ private IEnumerable<ParserResult> ParseXmlFile(string filePath)
342
368
new CloverReportPreprocessor ( this . sourceDirectories ) . Execute ( item ) ;
343
369
344
370
Logger . DebugFormat ( Resources . InitiatingParser , "Clover" ) ;
345
- var result = new CloverParser ( this . assemblyFilter , this . classFilter , this . fileFilter ) . Parse ( item ) ;
371
+ var result = new CloverParser ( this . assemblyFilter , this . classFilter , this . fileFilter , this . excludeTestProjects ) . Parse ( item ) ;
346
372
347
373
foreach ( var sourceDirectory in this . sourceDirectories )
348
374
{
0 commit comments