powershell Pester 5.4生成一个空的代码覆盖率结果文件

hvvq6cgz  于 2023-02-04  发布在  Shell
关注(0)|答案(1)|浏览(143)
    • POV:**我正在使用pester生成Powershell测试代码覆盖率。
    • 问题:**生成的Coverage.xml文件仍为空。
    • 问题**我做错了什么?
    • 一些技术细节:**
Write-Verbose -Message "Running Pester Tests"
    $conf = New-PesterConfiguration
    $conf.Run.Path= ".\Tests\"
    $conf.Run.TestExtension = '.Unit.Test.ps1'
    $conf.Output.CIFormat = "AzureDevops"
    $conf.TestResult.Enabled = $true
    $conf.TestResult.OutputPath = './TestResults/Testresult.xml'
    $conf.CodeCoverage.Enabled = $true
    $conf.CodeCoverage.OutputFormat = 'JaCoCo'
    $conf.CodeCoverage.CoveragePercentTarget = 70
    $conf.CodeCoverage.RecursePaths = $true
    $conf.CodeCoverage.OutputPath="./TestResults/Coverage.xml"
    $conf.CodeCoverage.Path=".\Tests\*.Unit.Test.ps1"
        
    Invoke-Pester -Configuration $conf
> Get-Module Pester | Where-Object {$_.Version -gt '5.0.0'}

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Script     5.4.0                 Pester                              {Add-ShouldOperator, AfterAll, AfterEach, Assert-MockCalled…}
> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.1
PSEdition                      Core
GitCommitId                    7.3.1
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
avwztpqn

avwztpqn1#

改变这个

$conf.CodeCoverage.Path="./Tests/*.Unit.Test.ps1"

$conf.CodeCoverage.Path="./Source/**/*.ps1"

让它起作用了。
文档对此非常模糊:https://pester.dev/docs/commands/New-PesterConfiguration
运行:
路径:要搜索测试的目录、直接指向测试文件的路径或两者的组合。默认值:@('.')
代码覆盖范围:
路径:用于代码覆盖率的目录或文件,默认情况下使用常规设置中的路径,除非在此处重写。
默认值:@()
常规设置为:测试文件的路径。CodeCoverage说:使用常规设置中的路径..
这让我相信CodeCoverage应该指向测试文件。
然而,它们的默认设置甚至不起作用。
这让我误入歧途。
感谢Daniel让我走上了正确的轨道。

纠正

文件已生成,但覆盖率不正确始终为0%

相关问题