Description
Checklist
- Issue has a meaningful title
- I have searched the existing issues. See all issues
- I have tested using the latest version of Pester. See Installation and update guide.
What is the issue?
According to the source it should be possible to pass an [System.Collections.IDictionary]
so that it is possible to only calculate code coverage on part of a source file.
Pester/src/functions/Coverage.ps1
Line 125 in f22150b
But since the Pester configuration object only takes a string array for the property CodeCoverage.Path
it is not possible to use this functionality,
Expected Behavior
Possible to pass an array of [System.Collections.IDictionary]
for the property CodeCoverage.Path
. I think it even is supposed to be able to mix both [System.Collections.IDictionary]
and [String]
? 🤔
Steps To Reproduce
$coverage1 = [System.Collections.IDictionary] @{
Path = '/Users/johlju/source/Sampler/output/Sampler/0.113.0/Sampler.psm1'
StartLine = 1
EndLine = 100
Function = 'Add-Sample'
}
$pesterConfig = New-PesterConfiguration -Hashtable @{
Run = @{
Path = './tests/Unit/Public/Add-Sample.tests.ps1'
}
CodeCoverage = @{
Enabled = $true
Path = @($coverage1)
UseBreakpoints = $true
}
Output = @{
Verbosity = 'Detailed'
}
}
Invoke-Pester -Configuration $pesterConfig
Since I can't get passed setting the property in the pester configuration, I'm not sure if IDictionary
need more of the properties:
Pester/src/functions/Coverage.ps1
Lines 143 to 151 in f22150b
Describe your environment
Pester version : 5.3.3 /Users/johlju/source/Sampler/output/RequiredModules/Pester/5.3.3/Pester.psm1
PowerShell version : 7.2.4
OS version : Unix 12.4.0
Possible Solution?
The Pester configuration option .CodeCoverage.Path
needs to be a Tuple to be able to pass both [String]
and [System.Collections.IDictionary]
?