1. General summary of the issue
Code Coverage report counters are incorrect when there are multiple packages in the report.
2. Describe Your Environment
Pester version : 4.6.0 C:\Program Files\WindowsPowerShell\Modules\Pester\4.6.0\Pester.psd1
PowerShell version : 5.1.14409.1018
OS version : Microsoft Windows NT 6.1.7601 Service Pack 1
3. Expected Behavior
Expecting Code Coverage report counters to be the sum of all package counters.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd">
<report name="Pester (02/11/2019 11:04:08)">
<package name="Deploy/Common">
<counter type="INSTRUCTION" missed="6" covered="67" />
<counter type="LINE" missed="4" covered="51" />
<counter type="METHOD" missed="2" covered="5" />
<counter type="CLASS" missed="1" covered="3" />
</package>
<package name="Deploy">
<counter type="INSTRUCTION" missed="0" covered="37" />
<counter type="LINE" missed="0" covered="16" />
<counter type="METHOD" missed="0" covered="1" />
<counter type="CLASS" missed="0" covered="1" />
</package>
<counter type="INSTRUCTION" missed="6" covered="104" />
<counter type="LINE" missed="4" covered="67" />
<counter type="METHOD" missed="2" covered="6" />
<counter type="CLASS" missed="1" covered="4" />
</report>
4.Current Behavior
Currently Code Coverage report counters are the same as the last package counters.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd">
<report name="Pester (02/11/2019 11:04:08)">
<package name="Deploy/Common">
<counter type="INSTRUCTION" missed="6" covered="67" />
<counter type="LINE" missed="4" covered="51" />
<counter type="METHOD" missed="2" covered="5" />
<counter type="CLASS" missed="1" covered="3" />
</package>
<package name="Deploy">
<counter type="INSTRUCTION" missed="0" covered="37" />
<counter type="LINE" missed="0" covered="16" />
<counter type="METHOD" missed="0" covered="1" />
<counter type="CLASS" missed="0" covered="1" />
</package>
<counter type="INSTRUCTION" missed="0" covered="37" />
<counter type="LINE" missed="0" covered="16" />
<counter type="METHOD" missed="0" covered="1" />
<counter type="CLASS" missed="0" covered="1" />
</report>
5. Possible Solution
It seems like a report counter object needs to be created before package loop in Get-JaCoCoReportXml which accumulates counters from all package objects and is used when writing the report counters in Get-JaCoCoReportXml to the report.
6. Context
This is causing PowerShell project builds in TFS to publish incorrect Code Coverage results.
1. General summary of the issue
Code Coverage report counters are incorrect when there are multiple packages in the report.
2. Describe Your Environment
Pester version : 4.6.0 C:\Program Files\WindowsPowerShell\Modules\Pester\4.6.0\Pester.psd1
PowerShell version : 5.1.14409.1018
OS version : Microsoft Windows NT 6.1.7601 Service Pack 1
3. Expected Behavior
Expecting Code Coverage report counters to be the sum of all package counters.
4.Current Behavior
Currently Code Coverage report counters are the same as the last package counters.
5. Possible Solution
It seems like a report counter object needs to be created before package loop in Get-JaCoCoReportXml which accumulates counters from all package objects and is used when writing the report counters in Get-JaCoCoReportXml to the report.
6. Context
This is causing PowerShell project builds in TFS to publish incorrect Code Coverage results.